[PATCH v3] gitlab: x86: Add a coreboot test

Coreboot supports U-Boot as a payload and this recently got a bit of a facelist. Add a test for this.
For now this uses a binary build of coreboot (v4.15). Future work could potentially build it from source, but we need to figure out the toolchain problems first, since coreboot uses its own toolchain. It turns out that this is tricky, because coreboot fails to build with a vanilla gcc.
This needs some changes to the hooks scripts as well. An example build is at https://source.denx.de/u-boot/custodians/u-boot-dm/-/jobs/359687
Signed-off-by: Simon Glass sjg@chromium.org ---
Changes in v3: - Drop RFC tag
Changes in v2: - Drop the local CI changes; we need the real ones applied first anyway
.gitlab-ci.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4c44c01e7bf..75ad67fab03 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -52,6 +52,16 @@ stages: genimage --inputpath . --config board/sifive/unleashed/genimage_spi-nor.cfg; cp images/spi-nor.img ${UBOOT_TRAVIS_BUILD_DIR}/; fi + - if [[ "${TEST_PY_BD}" == "coreboot" ]]; then + wget -O - + "https://drive.google.com/uc?id=1x6nrtWIyIRPLS2cQBwYTnT2TbOI8UjmM&export=..." | + xz -dc >${UBOOT_TRAVIS_BUILD_DIR}/coreboot.rom; + wget -O - + "https://drive.google.com/uc?id=149Cz-5SZXHNKpi9xg6R_5XITWohu348y&export=..." > + cbfstool; + chmod a+x cbfstool; + ./cbfstool ${UBOOT_TRAVIS_BUILD_DIR}/coreboot.rom add-flat-binary -f ${UBOOT_TRAVIS_BUILD_DIR}/u-boot.bin -n fallback/payload -c LZMA -l 0x1110000 -e 0x1110000; + fi - virtualenv -p /usr/bin/python3 /tmp/venv - . /tmp/venv/bin/activate - pip install -r test/py/requirements.txt @@ -61,6 +71,10 @@ stages: ./test/py/test.py -ra --bd ${TEST_PY_BD} ${TEST_PY_ID} ${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"} --build-dir "$UBOOT_TRAVIS_BUILD_DIR" + # It seems that the files in /tmp go away, so copy out what we need + - if [[ "${TEST_PY_BD}" == "coreboot" ]]; then + cp -v /tmp/coreboot/*.{html,css} .; + fi
build all 32bit ARM platforms: stage: world build @@ -387,3 +401,15 @@ xtfpga test.py: TEST_PY_TEST_SPEC: "not sleep" TEST_PY_ID: "--id qemu" <<: *buildman_and_testpy_dfn + +coreboot test.py: + variables: + TEST_PY_BD: "coreboot" + TEST_PY_TEST_SPEC: "not sleep" + TEST_PY_ID: "--id qemu" + artifacts: + paths: + - "*.html" + - "*.css" + expire_in: 1 week + <<: *buildman_and_testpy_dfn

On Thu, Jan 20, 2022 at 08:43:25PM -0700, Simon Glass wrote:
Coreboot supports U-Boot as a payload and this recently got a bit of a facelist. Add a test for this.
For now this uses a binary build of coreboot (v4.15). Future work could potentially build it from source, but we need to figure out the toolchain problems first, since coreboot uses its own toolchain. It turns out that this is tricky, because coreboot fails to build with a vanilla gcc.
This needs some changes to the hooks scripts as well. An example build is at https://source.denx.de/u-boot/custodians/u-boot-dm/-/jobs/359687
Signed-off-by: Simon Glass sjg@chromium.org
Changes in v3:
- Drop RFC tag
Changes in v2:
- Drop the local CI changes; we need the real ones applied first anyway
.gitlab-ci.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)
We need to do similar in Azure. Due to the nature of what hosts are available, GitLab ends up being a subset of Azure in terms of whats tested (we can't easily do Windows/macOS host tools in GitLab).

Hi Tom,
On Fri, 21 Jan 2022 at 07:54, Tom Rini trini@konsulko.com wrote:
On Thu, Jan 20, 2022 at 08:43:25PM -0700, Simon Glass wrote:
Coreboot supports U-Boot as a payload and this recently got a bit of a facelist. Add a test for this.
For now this uses a binary build of coreboot (v4.15). Future work could potentially build it from source, but we need to figure out the toolchain problems first, since coreboot uses its own toolchain. It turns out that this is tricky, because coreboot fails to build with a vanilla gcc.
This needs some changes to the hooks scripts as well. An example build is at https://source.denx.de/u-boot/custodians/u-boot-dm/-/jobs/359687
Signed-off-by: Simon Glass sjg@chromium.org
Changes in v3:
- Drop RFC tag
Changes in v2:
- Drop the local CI changes; we need the real ones applied first anyway
.gitlab-ci.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)
We need to do similar in Azure. Due to the nature of what hosts are available, GitLab ends up being a subset of Azure in terms of whats tested (we can't easily do Windows/macOS host tools in GitLab).
Oops I forgot to add that, will do.
Regards, Simon
participants (2)
-
Simon Glass
-
Tom Rini