From ebf4157e2ce8d971d890da82662ea1c36a0ec512 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 11 Aug 2025 16:50:57 +0200 Subject: [PATCH 1/7] configs: new defconfig for rpi4 bootloader This commit migrates the bootloader build from Raspberry Pi 4 board package to a dedicated bootloader defconfig. The idea is to set up dedicated wokflows for building bootloaders, which change rarely, streamlining the Infix image builds. A dedicated workflow, or job in an existing workflow, can then do the composition to minimal SD-card images useful for starting up Infix on boards where SD-card is the primary boot source. Signed-off-by: Joachim Wiberg --- configs/rpi4_boot_defconfig | 39 ++++++++++++++++++++++++++ package/board/raspberry-pi-4/Config.in | 27 ------------------ 2 files changed, 39 insertions(+), 27 deletions(-) create mode 100644 configs/rpi4_boot_defconfig diff --git a/configs/rpi4_boot_defconfig b/configs/rpi4_boot_defconfig new file mode 100644 index 00000000..b9d8a817 --- /dev/null +++ b/configs/rpi4_boot_defconfig @@ -0,0 +1,39 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_DL_DIR="$(BR2_EXTERNAL_INFIX_PATH)/dl" +BR2_CCACHE=y +BR2_CCACHE_DIR="$(BR2_EXTERNAL_INFIX_PATH)/.ccache" +BR2_ENABLE_DEBUG=y +BR2_PACKAGE_OVERRIDE_FILE="$(BR2_EXTERNAL_INFIX_PATH)/local.mk" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_INFIX_PATH)/patches" +BR2_SSP_NONE=y +BR2_INIT_NONE=y +BR2_SYSTEM_BIN_SH_NONE=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-image.sh" +# BR2_PACKAGE_BUSYBOX is not set +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/src/board/raspberry-pi-4/config.txt" +BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE="${BR2_EXTERNAL_INFIX_PATH}/src/board/raspberry-pi-4/cmdline.txt" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_arm64" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="${BR2_EXTERNAL_INFIX_PATH}/board/common/uboot/extras.config ${BR2_EXTERNAL_INFIX_PATH}/src/board/raspberry-pi-4/uboot/extras.config" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_FORMAT_DTB=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="arch/arm/dts/infix-key.dtbo arch/arm/dts/rpi-env.dtbo" +BR2_TARGET_UBOOT_CUSTOM_DTS_PATH="${BR2_EXTERNAL_INFIX_PATH}/src/board/raspberry-pi-4/uboot/rpi-env.dtso" +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_RAUC=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y +TRUSTED_KEYS=y +TRUSTED_KEYS_DEVELOPMENT=y +# GNS3_APPLIANCE is not set diff --git a/package/board/raspberry-pi-4/Config.in b/package/board/raspberry-pi-4/Config.in index bd6562a2..8fd09de8 100644 --- a/package/board/raspberry-pi-4/Config.in +++ b/package/board/raspberry-pi-4/Config.in @@ -9,33 +9,6 @@ config BR2_PACKAGE_RASPBERRY_PI_4 select BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4 select BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X select SDCARD_AUX - select BR2_TARGET_UBOOT - select BR2_TARGET_UBOOT_FORMAT_CUSTOM - select BR2_TARGET_UBOOT_NEEDS_DTC select BR2_TARGET_UBOOT_NEEDS_UBOOT_TOOLS - select BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG help Raspberry pi 4 - -# Don't redefine - just set conditional defaults -if BR2_PACKAGE_RASPBERRY_PI_4 - -config BR2_TARGET_UBOOT_BOARD_DEFCONFIG - default "rpi_arm64" - -config BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES - default "${BR2_EXTERNAL_INFIX_PATH}/board/common/uboot/extras.config ${BR2_EXTERNAL_INFIX_PATH}/src/board/raspberry-pi-4/uboot/extras.config" - -config BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME - default "arch/arm/dts/infix-key.dtbo arch/arm/dts/rpi-env.dtbo" - -config BR2_TARGET_UBOOT_CUSTOM_DTS_PATH - default "${BR2_EXTERNAL_INFIX_PATH}/src/board/raspberry-pi-4/uboot/rpi-env.dtso" - -config BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE - default "${BR2_EXTERNAL_INFIX_PATH}/src/board/raspberry-pi-4/config.txt" - -config BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE - default "${BR2_EXTERNAL_INFIX_PATH}/src/board/raspberry-pi-4/cmdline.txt" - -endif From 1c04409cf37517eefa1a6f227cc91bf1ea15cdb6 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 11 Aug 2025 17:32:18 +0200 Subject: [PATCH 2/7] .github: nightly build of bootloaders Signed-off-by: Joachim Wiberg --- .github/workflows/build-boot.yml | 143 +++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 .github/workflows/build-boot.yml diff --git a/.github/workflows/build-boot.yml b/.github/workflows/build-boot.yml new file mode 100644 index 00000000..b43bc63b --- /dev/null +++ b/.github/workflows/build-boot.yml @@ -0,0 +1,143 @@ +name: Build Bootloaders + +on: + workflow_dispatch: + inputs: + branch: + description: 'Branch to build from' + default: 'main' + type: string + +jobs: + build: + name: Build ${{ matrix.defconfig }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + defconfig: + - fireant_boot + - cn9130_crb_boot + - aarch64_qemu_boot + - rpi4_boot + env: + MAKEFLAGS: -j5 + steps: + - name: Cleanup Build Folder + run: | + ls -la ./ + rm -rf ./* || true + rm -rf ./.??* || true + ls -la ./ + + - name: Checkout infix repo + uses: actions/checkout@v4 + with: + ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.branch || github.ref }} + clean: true + fetch-depth: 0 + submodules: recursive + + - name: Set Build Variables + id: vars + run: | + defconfig=${{ matrix.defconfig }} + version=$(awk -F'"' '/BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE=/ {print $2}' configs/${defconfig}_defconfig) + version=${version:-git} + filename=$(echo "${defconfig}" | tr '_' '-') + + # TODO: Replace hardcoded rev with actual revision stepping + rev="latest" + + archive="${filename}-${version}-${rev}.tar.gz" + dirname="${filename}-${version}-${rev}" + + echo "defconfig=${defconfig}" >> $GITHUB_OUTPUT + echo "version=${version}" >> $GITHUB_OUTPUT + echo "rev=${rev}" >> $GITHUB_OUTPUT + echo "archive=${archive}" >> $GITHUB_OUTPUT + echo "dirname=${dirname}" >> $GITHUB_OUTPUT + + echo "Building ${defconfig}_defconfig, version ${version}-${rev}, artifact ${archive} ..." + + - name: Restore Cache of dl/ + uses: actions/cache@v4 + with: + path: dl/ + key: dl-boot-${{ hashFiles('.git/modules/buildroot/HEAD', 'configs/*', 'package/*/*.hash') }} + restore-keys: | + dl-boot- + dl- + + - name: Restore Cache of .ccache/ + uses: actions/cache@v4 + with: + path: .ccache/ + key: ccache-boot-${{ matrix.defconfig }}-${{ hashFiles('.git/modules/buildroot/HEAD', 'package/*/*.hash') }} + restore-keys: | + ccache-boot-${{ matrix.defconfig }}- + ccache-boot- + ccache- + + - name: Configure ${{ matrix.defconfig }}_defconfig + run: | + make ${{ matrix.defconfig }}_defconfig + + - name: Build ${{ matrix.defconfig }}_defconfig + run: | + echo "Building ${{ matrix.defconfig }}_defconfig ..." + make -j$((`getconf _NPROCESSORS_ONLN` / 2 + 2)) + + - name: Resulting size of build + run: | + printf "Size of output/images/: " + ls -l output/images/ + + - name: Prepare ${{ matrix.defconfig }} Artifact + run: | + cd output/ + mv images ${{ steps.vars.outputs.dirname }} + tar cfz ${{ steps.vars.outputs.archive }} ${{ steps.vars.outputs.dirname }}/ + + - uses: actions/upload-artifact@v4 + with: + path: output/${{ steps.vars.outputs.archive }} + name: artifact-${{ matrix.defconfig }} + + publish: + name: Upload Bootloader Artifacts + runs-on: ubuntu-latest + needs: build + permissions: + contents: write + steps: + - uses: actions/download-artifact@v4 + with: + pattern: "artifact-*" + merge-multiple: true + + - name: Create checksums ... + run: | + for file in *.tar.gz; do + sha256sum $file > $file.sha256 + done + + - uses: ncipollo/release-action@v1 + with: + allowUpdates: true + omitName: true + omitBody: true + omitBodyDuringUpdate: true + prerelease: true + tag: "latest-boot" + token: ${{ secrets.GITHUB_TOKEN }} + artifacts: "*.tar.gz*" + + - name: Summary + run: | + cat <> $GITHUB_STEP_SUMMARY + # Bootloader Build Complete! :rocket: + + For the public download links of these bootloader artifacts, please see: + + EOF From 0491c1f195be9d30a6dafca40af972238287bbeb Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 11 Aug 2025 19:23:48 +0200 Subject: [PATCH 3/7] patches/arm-trusted-firmware: drop local patch for cn9130-crb Build root now (as of 2025.02 LTS) carry a version of this patch for us, for the same reason. Signed-off-by: Joachim Wiberg --- ...-ddr-marvell-to-be-built-from-tarbal.patch | 29 ------------------- 1 file changed, 29 deletions(-) delete mode 100644 patches/arm-trusted-firmware/v2.9/0002-marvell-Allow-mv-ddr-marvell-to-be-built-from-tarbal.patch diff --git a/patches/arm-trusted-firmware/v2.9/0002-marvell-Allow-mv-ddr-marvell-to-be-built-from-tarbal.patch b/patches/arm-trusted-firmware/v2.9/0002-marvell-Allow-mv-ddr-marvell-to-be-built-from-tarbal.patch deleted file mode 100644 index dccc0a84..00000000 --- a/patches/arm-trusted-firmware/v2.9/0002-marvell-Allow-mv-ddr-marvell-to-be-built-from-tarbal.patch +++ /dev/null @@ -1,29 +0,0 @@ -From da31240645cdf7ae424727ac330fdb6f6b118691 Mon Sep 17 00:00:00 2001 -From: Tobias Waldekranz -Date: Mon, 16 Oct 2023 10:52:19 +0200 -Subject: [PATCH 2/2] marvell: Allow mv-ddr-marvell to be built from tarball - -Build system relies on the mv-ddr-marvell being a valid GIT working -directory, which is not the case when building from a tarball. - -Therefore, reduce this requirement from a hard error to a warning. - -Signed-off-by: Tobias Waldekranz ---- - plat/marvell/armada/a8k/common/ble/ble.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/plat/marvell/armada/a8k/common/ble/ble.mk b/plat/marvell/armada/a8k/common/ble/ble.mk -index 752ab419d..db817e996 100644 ---- a/plat/marvell/armada/a8k/common/ble/ble.mk -+++ b/plat/marvell/armada/a8k/common/ble/ble.mk -@@ -31,5 +31,5 @@ $(MV_DDR_LIB): FORCE - # Do not remove! Following checks are required to ensure correct TF-A builds, removing these checks leads to broken TF-A builds - $(if $(value MV_DDR_PATH),,$(error "Platform '$(PLAT)' for BLE requires MV_DDR_PATH. Please set MV_DDR_PATH to point to the right directory")) - $(if $(wildcard $(value MV_DDR_PATH)/*),,$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' directory does not exist")) -- $(if $(shell git -C $(value MV_DDR_PATH) rev-parse --show-cdup 2>&1),$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' does not contain valid mv-ddr-marvell git repository")) -+ $(if $(shell git -C $(value MV_DDR_PATH) rev-parse --show-cdup 2>&1),$(warning "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' does not contain valid mv-ddr-marvell git repository")) - @+make -C $(MV_DDR_PATH) --no-print-directory PLAT_INCLUDES="$(MV_DDR_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 OBJ_DIR=$(BUILD_PLAT)/ble --- -2.34.1 - From d151b5ef7c6c843e7c33026e4c3a821416c993b2 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 11 Aug 2025 20:05:39 +0200 Subject: [PATCH 4/7] board/common: skip qemu.sh et al for bootloader builds Signed-off-by: Joachim Wiberg --- board/common/post-image.sh | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/board/common/post-image.sh b/board/common/post-image.sh index f9ebc323..efbde642 100755 --- a/board/common/post-image.sh +++ b/board/common/post-image.sh @@ -86,29 +86,31 @@ if [ "$FIT_IMAGE" = "y" ]; then $common/mkfit.sh fi +# Only for regular builds, not bootloader-only builds if [ "$BR2_TARGET_ROOTFS_SQUASHFS" = "y" ]; then rel=$(ver) ln -sf rootfs.squashfs "$BINARIES_DIR/${NAME}${rel}.img" if [ -n "$rel" ]; then ln -sf "${NAME}${rel}.img" "$BINARIES_DIR/${NAME}.img" fi + + cp "$BR2_EXTERNAL_INFIX_PATH/board/common/rootfs/usr/bin/onieprom" "$BINARIES_DIR/" + + # Menuconfig support for modifying Qemu args in release tarballs + cp "$BR2_EXTERNAL_INFIX_PATH/board/common/qemu/qemu.sh" "$BINARIES_DIR/" + sed -e "s/@ARCH@/QEMU_$BR2_ARCH/" \ + -e "s/@DISK_IMG@/$diskimg/" \ + < "$BR2_EXTERNAL_INFIX_PATH/board/common/qemu/Config.in.in" \ + > "$BINARIES_DIR/Config.in" + rm -f "$BINARIES_DIR/qemu.cfg" + CONFIG_="CONFIG_" BR2_CONFIG="$BINARIES_DIR/qemu.cfg" \ + "$O/build/buildroot-config/conf" --olddefconfig "$BINARIES_DIR/Config.in" + rm -f "$BINARIES_DIR/qemu.cfg.old" "$BINARIES_DIR/.config.old" + + # Quick intro for beginners, with links to more information + cp "$BR2_EXTERNAL_INFIX_PATH/board/common/README.txt" "$BINARIES_DIR/" fi -# Menuconfig support for modifying Qemu args in release tarballs -cp "$BR2_EXTERNAL_INFIX_PATH/board/common/rootfs/usr/bin/onieprom" "$BINARIES_DIR/" -cp "$BR2_EXTERNAL_INFIX_PATH/board/common/qemu/qemu.sh" "$BINARIES_DIR/" -sed -e "s/@ARCH@/QEMU_$BR2_ARCH/" \ - -e "s/@DISK_IMG@/$diskimg/" \ - < "$BR2_EXTERNAL_INFIX_PATH/board/common/qemu/Config.in.in" \ - > "$BINARIES_DIR/Config.in" -rm -f "$BINARIES_DIR/qemu.cfg" -CONFIG_="CONFIG_" BR2_CONFIG="$BINARIES_DIR/qemu.cfg" \ - "$O/build/buildroot-config/conf" --olddefconfig "$BINARIES_DIR/Config.in" -rm -f "$BINARIES_DIR/qemu.cfg.old" "$BINARIES_DIR/.config.old" - -# Quick intro for beginners, with links to more information -cp "$BR2_EXTERNAL_INFIX_PATH/board/common/README.txt" "$BINARIES_DIR/" - boards=$(${BR2_EXTERNAL_INFIX_PATH}/board/common/selected-boards.sh ${BR2_EXTERNAL_INFIX_PATH} ${O}) for board in $boards; do [ ! -f "${BR2_EXTERNAL_INFIX_PATH}/src/board/${board}/post-image.sh" ] && continue From a845c3e9f37649be445854cae9f12afecbe48b80 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 11 Aug 2025 20:11:46 +0200 Subject: [PATCH 5/7] configs: drop disk image (qcow2) from all bootloader builds Signed-off-by: Joachim Wiberg --- configs/aarch64_qemu_boot_defconfig | 4 +--- configs/cn9130_crb_boot_defconfig | 4 +--- configs/fireant_boot_defconfig | 1 + 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/configs/aarch64_qemu_boot_defconfig b/configs/aarch64_qemu_boot_defconfig index bc569c87..833dc1c6 100644 --- a/configs/aarch64_qemu_boot_defconfig +++ b/configs/aarch64_qemu_boot_defconfig @@ -29,6 +29,4 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y TRUSTED_KEYS=y TRUSTED_KEYS_DEVELOPMENT=y -DISK_IMAGE_BOOT_BIN=y -DISK_IMAGE_BOOT_DATA="${BINARIES_DIR}/flash-image.bin" -DISK_IMAGE_BOOT_OFFSET=0x00200000 +# GNS3_APPLIANCE is not set diff --git a/configs/cn9130_crb_boot_defconfig b/configs/cn9130_crb_boot_defconfig index 7e4e3ed7..1d12cad1 100644 --- a/configs/cn9130_crb_boot_defconfig +++ b/configs/cn9130_crb_boot_defconfig @@ -40,6 +40,4 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y TRUSTED_KEYS=y TRUSTED_KEYS_DEVELOPMENT=y -DISK_IMAGE_BOOT_BIN=y -DISK_IMAGE_BOOT_DATA="${BINARIES_DIR}/flash-image.bin" -DISK_IMAGE_BOOT_OFFSET=0x00200000 +# GNS3_APPLIANCE is not set diff --git a/configs/fireant_boot_defconfig b/configs/fireant_boot_defconfig index 1521af20..247685da 100644 --- a/configs/fireant_boot_defconfig +++ b/configs/fireant_boot_defconfig @@ -20,3 +20,4 @@ BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/kernelkit/u-boot.git" BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="c3d9cdcc7d9e3eb490d4036f5eece3fb91a2485c" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="mscc_fireant_pcb135_emmc" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_INFIX_PATH)/board/common/uboot/extras.config" +# GNS3_APPLIANCE is not set From a3c26c4ef33264d2d69f97b6f87e0f07306595df Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 12 Aug 2025 07:25:43 +0200 Subject: [PATCH 6/7] configs: drop signing step for bootloaders There's nothing to sign and only causes build errors. Signed-off-by: Joachim Wiberg --- configs/aarch64_qemu_boot_defconfig | 2 -- configs/cn9130_crb_boot_defconfig | 2 -- configs/rpi4_boot_defconfig | 2 -- 3 files changed, 6 deletions(-) diff --git a/configs/aarch64_qemu_boot_defconfig b/configs/aarch64_qemu_boot_defconfig index 833dc1c6..910ce65b 100644 --- a/configs/aarch64_qemu_boot_defconfig +++ b/configs/aarch64_qemu_boot_defconfig @@ -27,6 +27,4 @@ BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y -TRUSTED_KEYS=y -TRUSTED_KEYS_DEVELOPMENT=y # GNS3_APPLIANCE is not set diff --git a/configs/cn9130_crb_boot_defconfig b/configs/cn9130_crb_boot_defconfig index 1d12cad1..daf9d077 100644 --- a/configs/cn9130_crb_boot_defconfig +++ b/configs/cn9130_crb_boot_defconfig @@ -38,6 +38,4 @@ BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y -TRUSTED_KEYS=y -TRUSTED_KEYS_DEVELOPMENT=y # GNS3_APPLIANCE is not set diff --git a/configs/rpi4_boot_defconfig b/configs/rpi4_boot_defconfig index b9d8a817..97ea983f 100644 --- a/configs/rpi4_boot_defconfig +++ b/configs/rpi4_boot_defconfig @@ -34,6 +34,4 @@ BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y -TRUSTED_KEYS=y -TRUSTED_KEYS_DEVELOPMENT=y # GNS3_APPLIANCE is not set From eefe84fd4bf145318626f22248a2fc50a965f2a0 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 12 Aug 2025 08:57:45 +0200 Subject: [PATCH 7/7] configs: update dependencies for fireant and disable CONFIG_MMC_PCI The board/common/uboot/extras.config was updated with CONFIG_MMC_PCI *after* we last built the SparX5i bootloader, and this was really only needed for the Qemu build, so let's move the requirement there. Also, we now (Buildroot 2025.02) need to update the dependencies for the Fireant bootloader with libbsd (for some reason) and dtc, of course. Signed-off-by: Joachim Wiberg --- board/aarch64/qemu/uboot/extras.config | 3 +++ board/common/uboot/extras.config | 1 - configs/aarch64_qemu_boot_defconfig | 2 +- configs/fireant_boot_defconfig | 2 ++ 4 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 board/aarch64/qemu/uboot/extras.config diff --git a/board/aarch64/qemu/uboot/extras.config b/board/aarch64/qemu/uboot/extras.config new file mode 100644 index 00000000..dcead06d --- /dev/null +++ b/board/aarch64/qemu/uboot/extras.config @@ -0,0 +1,3 @@ +# QEMU-specific U-Boot config +# Enable PCI MMC for QEMU virtualized environment +CONFIG_MMC_PCI=y \ No newline at end of file diff --git a/board/common/uboot/extras.config b/board/common/uboot/extras.config index 331412e6..0037106a 100644 --- a/board/common/uboot/extras.config +++ b/board/common/uboot/extras.config @@ -20,7 +20,6 @@ CONFIG_CMD_SETEXPR_FMT=y CONFIG_MMC=y CONFIG_MMC_SDHCI=y -CONFIG_MMC_PCI=y CONFIG_CMD_MMC=y CONFIG_FS_SQUASHFS=y diff --git a/configs/aarch64_qemu_boot_defconfig b/configs/aarch64_qemu_boot_defconfig index 910ce65b..dbf84eb3 100644 --- a/configs/aarch64_qemu_boot_defconfig +++ b/configs/aarch64_qemu_boot_defconfig @@ -20,7 +20,7 @@ BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.07.02" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="qemu_arm64" -BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_INFIX_PATH)/board/common/uboot/extras.config" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_INFIX_PATH)/board/common/uboot/extras.config $(BR2_EXTERNAL_INFIX_PATH)/board/aarch64/qemu/uboot/extras.config" BR2_TARGET_UBOOT_FORMAT_DTB=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_RAUC=y diff --git a/configs/fireant_boot_defconfig b/configs/fireant_boot_defconfig index 247685da..ec9542b1 100644 --- a/configs/fireant_boot_defconfig +++ b/configs/fireant_boot_defconfig @@ -11,6 +11,7 @@ BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_INFIX_PATH)/patches" BR2_INIT_NONE=y BR2_SYSTEM_BIN_SH_NONE=y # BR2_PACKAGE_BUSYBOX is not set +BR2_PACKAGE_LIBBSD=y # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_UBOOT=y @@ -20,4 +21,5 @@ BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/kernelkit/u-boot.git" BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="c3d9cdcc7d9e3eb490d4036f5eece3fb91a2485c" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="mscc_fireant_pcb135_emmc" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_INFIX_PATH)/board/common/uboot/extras.config" +BR2_TARGET_UBOOT_NEEDS_DTC=y # GNS3_APPLIANCE is not set