From d06874acaf109e2568edbf2a39c7d2fde6a3ba92 Mon Sep 17 00:00:00 2001 From: Jian-Hong Pan Date: Tue, 2 Dec 2025 15:16:15 +0800 Subject: [PATCH] eib_image: Build generic RPi image for RPi devices Both RPi 4 & 5 series can share the same OSTree, u-boot with the boot script and RPi firmware files. The device tree blobs have been placed into the same EFI partition together. So, it can be the "rpi" platform simply and directly. https://app.asana.com/1/1203676861188277/project/1211949321657103/task/1212249872518130 --- config/platform/rpi4.ini | 3 --- stages/eib_image | 8 ++++---- tests/test_image_builder.py | 8 ++++---- 3 files changed, 8 insertions(+), 11 deletions(-) delete mode 100644 config/platform/rpi4.ini diff --git a/config/platform/rpi4.ini b/config/platform/rpi4.ini deleted file mode 100644 index f35f2519..00000000 --- a/config/platform/rpi4.ini +++ /dev/null @@ -1,3 +0,0 @@ -[ostree] -# RPi4 chooses the rpi ostree -platform = rpi diff --git a/stages/eib_image b/stages/eib_image index 875c1850..ef0093ef 100755 --- a/stages/eib_image +++ b/stages/eib_image @@ -204,7 +204,7 @@ create_image() { # Raspberry Pi's GPU starts the boot process by loading bootloader blobs # from the first partition which must be VFAT. - if [ "${EIB_PLATFORM:0:3}" == "rpi" ]; then + if [ "${EIB_PLATFORM}" == "rpi" ]; then # BOOT Partition using EFI System type for RPi firmware echo "size=512MiB, type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B" fi @@ -239,7 +239,7 @@ create_image() { rootfs_attrs+=("GUID:55") fi - if [[ "${EIB_PLATFORM:0:3}" == "rpi" ]]; then + if [[ "${EIB_PLATFORM}" == "rpi" ]]; then # Make u-boot find the bootable partition which is rootfs for Raspberry Pi rootfs_attrs+=("LegacyBIOSBootable") fi @@ -282,7 +282,7 @@ create_image() { *) # On ARM disable 64bit ext4 option ext4_opts="dir_index,^huge_file,^64bit" - if [ "${EIB_PLATFORM:0:3}" == "rpi" ]; then + if [ "${EIB_PLATFORM}" == "rpi" ]; then boot_loop=${img_loop}p1 root_loop=${img_loop}p2 else @@ -336,7 +336,7 @@ EOF "${ROOT}"/boot/boot.scr case "${EIB_PLATFORM}" in - rpi4) + rpi) mkfs.vfat ${boot_loop} # Copy Raspberry Pi's bootloader & device tree blobs diff --git a/tests/test_image_builder.py b/tests/test_image_builder.py index a8014058..5a0ef2c1 100644 --- a/tests/test_image_builder.py +++ b/tests/test_image_builder.py @@ -69,7 +69,7 @@ def test_series(make_builder, branch, expected): @pytest.mark.parametrize('arch,platform,expected', [ ('amd64', None, 'amd64'), - ('arm64', 'rpi4', 'rpi4'), + ('arm64', 'rpi', 'rpi'), ('arm64', None, 'arm64'), ('i386', 'i386', 'i386'), ('i386', None, 'i386'), @@ -99,15 +99,15 @@ def test_bad_arch(make_builder): 'eos-amd64-amd64-es', 'eos-amd64-amd64-fr', 'eos-amd64-amd64-pt_BR', - 'eos-arm64-rpi4-base', - 'eos-arm64-rpi4-en', + 'eos-arm64-rpi-base', + 'eos-arm64-rpi-en', 'eos-arm64-pinebookpro-base', 'eos-arm64-pinebookpro-en', 'eosinstaller-amd64-amd64-base', ] CUSTOM_TARGETS = [ 'eoscustom-amd64-amd64-base', - 'eoscustom-arm64-rpi4-base', + 'eoscustom-arm64-rpi-base', ] TEST_VARIANTS = [] for target in RELEASE_TARGETS + CUSTOM_TARGETS: