This document describes the steps to test the process of creating a new variant of the Trembyle reference board. All of these steps are done inside the chroot environment.
Normally, a new variant would have a project configuration repo created by the CrOS gerrit admins. For the purposes of this test, create a directory and populate it as if the repo existed.
(cr) $ mkdir -p ~/trunk/src/project/zork/grue (cr) $ cd ~/trunk/src/config (cr) $ sbin/gen_project ~/trunk/src/config zork \ ~/trunk/src/program/zork/ grue \ ~/trunk/src/project/zork/grue
Update the _FW_BUILD_CONFIG
setting:
-_FW_BUILD_CONFIG = None +_FW_BUILD_CONFIG = program.firmware_build_config(_GRUE)
(cr) $ cd ~/trunk/src/project/zork/grue (cr) $ ~/trunk/src/config/bin/gen_config config.star
Add “grue” to the PROJECTS
list in src/private-overlays/overlay-zork-private/chromeos-base/chromeos-config-bsp-zork-private/chromeos-config-bsp-zork-private-9999.ebuild
PROJECTS=( "berknip" "dalboz" "dirinboz" "ezkinil" "morphius" "trembyle" "vilboz" "woomax" + "grue" )
Edit trembyle.py to modify step\_list
so that “grue” will build correctly, and so that the CLs do not get uploaded.
Remove the FW_BUILD_CONFIG step. Insert a ‘quit’ in trembyle.py after EMERGE, so that new_variant.py will fail with an “unknown step” error before it tries to upload any CLs to coreboot or gerrit.
step_list = [ step_names.PROJECT_CONFIG, - step_names.FW_BUILD_CONFIG, step_names.CB_VARIANT, step_names.CB_CONFIG, step_names.CRAS_CONFIG, step_names.EC_IMAGE, step_names.EC_BUILDALL, step_names.EMERGE, + 'quit', step_names.PUSH, step_names.FIND, step_names.UPLOAD, step_names.CALC_CQ_DEPEND, step_names.ADD_CQ_DEPEND, step_names.RE_UPLOAD, step_names.CLEAN_UP]
./new_variant.py --board=trembyle --variant=grue
The program should successfully build the ‘grue’ firmware, and then stop with an error that it doesn't understand the ‘quit’ step.
./new_variant.py --abort
to delete all of the commits.
rm -R ~/trunk/src/project/zork/grue
to delete the per-project config
Use git restore
in the appropriate directories to discard changes to chromeos-config-bsp-zork-private-9999.ebuild
and trembyle.py
.