[PATCH v4 0/9] CI: Set up for an arm64 runner

Simon Glass sjg at chromium.org
Wed Nov 13 19:53:31 CET 2024


All gitlab runners are currently amd64 machines. This series attempts to
create a docker image which can also support arm64 so that sandbox tests
can be run on it.

The TARGET_... environment variables for grub could perhaps be adjusted,
using the new variables, but I have not done that for now.

Currently this builds OK on amd64 but fails when built on arm64, in grub
on arm64-efi:

2022.6 gcc -DHAVE_CONFIG_H -I. -I../../..   -D_FILE_OFFSET_BITS=64
   -MT argp-pvh.o -MD -MP -MF $depbase.Tpo -c -o argp-pvh.o argp-pvh.c &&\
2022.6 mv -f $depbase.Tpo $depbase.Po
2023.0 gcc: internal compiler error: Segmentation fault signal terminated program cc1
2023.0 Please submit a full bug report,
2023.0 with preprocessed source if appropriate.
2023.0 See <file:///usr/share/doc/gcc-11/README.Bugs> for instructions.
2023.0 make[4]: *** [Makefile:1714: argp-pvh.o] Error 4

Perhaps this doesn't matter, though, at least for now.

This passes gitlab:
https://source.denx.de/u-boot/custodians/u-boot-dm/-/pipelines

but still fails on arm64:
https://source.denx.de/u-boot/custodians/u-boot-dm/-/pipelines/23346

Changes in v4:
- Leave the 'sudo' in

Changes in v3:
- Move ARGs to the top
- Revise documentation to explain a common error and building on arm64
- Use grub-efi and linux-image-generic for both archs
- Add patch to install toolchains on arm64 host
- Drop patches which remove grub and tracing for arm64

Changes in v2:
- Drop message about EFI_LOADER
- Use '\0' instead of 0
- Update docs also
- Add comments to the ARG variables
- Swap order so that amd64 is the exception

Simon Glass (9):
  sandbox: efi_loader: Correct use of addresses as pointers
  test: Adjust print_ut test to use unsigned char
  docker: Support building for multiple architectures
  docker: Adjust packages for arm64
  docker: Drop coreboot for arm64
  docker: Fix LegacyKeyValueFormat warning with PYTHONPATH
  docker: Install toolchains on arm64 host
  CI: Add platform variable
  WIP: CI: Update for arm64

 .gitlab-ci.yml                        |  3 +-
 arch/sandbox/cpu/cache.c              |  8 ++-
 doc/build/docker.rst                  | 25 ++++++++--
 drivers/remoteproc/rproc-elf-loader.c | 18 ++++---
 lib/efi_loader/efi_image_loader.c     |  3 +-
 test/print_ut.c                       |  8 +--
 tools/docker/Dockerfile               | 72 +++++++++++++++++++--------
 7 files changed, 98 insertions(+), 39 deletions(-)

-- 
2.34.1



More information about the U-Boot mailing list