Skip to content

Conversation

@schaefi
Copy link
Collaborator

@schaefi schaefi commented Jun 18, 2025

Allow to lookup and included EFI binaries/modules for multiple architectures. For testing the integration test in rawhide/test-image-live-disk has been adapted accordingly to install 32bit and 64bit EFI binaries.
This Fixes #2822

@schaefi schaefi requested a review from Conan-Kudo June 18, 2025 15:18
@schaefi schaefi self-assigned this Jun 18, 2025
@schaefi
Copy link
Collaborator Author

schaefi commented Jun 18, 2025

This is a relatively big refactor of the way how we provide EFI binaries and modules under certain conditions and architectures. For x86_64 an attempt is made to also include ix86 EFI shim/grub/modules to the target if they are present. If they are not present this is not treated as an error

@schaefi
Copy link
Collaborator Author

schaefi commented Jun 18, 2025

For the PR to be merged all integration tests has to pass. This process is still ongoing. Therefore the no-merge label is set

@schaefi
Copy link
Collaborator Author

schaefi commented Jun 18, 2025

For testing the EFI multi arch system the integration test for rawhide/test-image-live-disk has been updated accordingly. The test results can be found here:

From the build log you can see information like this

[   96s] [ INFO    ]: 14:42:48 | --> Using shim image: /usr/src/packages/KIWI-iso/build/image-root/boot/efi/EFI/fedora/shimx64.efi
[   96s] [ DEBUG   ]: 14:42:48 | EXEC: [cp /usr/src/packages/KIWI-iso/build/image-root/boot/efi/EFI/fedora/shimx64.efi /usr/src/packages/KIWI-iso/live-media.qosx354i/EFI/BOOT/bootx64.efi]
[   96s] [ INFO    ]: 14:42:48 | --> Using shim image: /usr/src/packages/KIWI-iso/build/image-root/boot/efi/EFI/fedora/shimia32.efi
[   96s] [ DEBUG   ]: 14:42:48 | EXEC: [cp /usr/src/packages/KIWI-iso/build/image-root/boot/efi/EFI/fedora/shimia32.efi /usr/src/packages/KIWI-iso/live-media.qosx354i/EFI/BOOT/bootia32.efi]

and more regarding the grub vendor binaries and modules

Please in depth double check the result images, the ISO and the disk images if the result is as expected.

Please remember I don't have ia32 EFI capable hardware here and only tested 64Bit boot, which still works

Thanks

@schaefi
Copy link
Collaborator Author

schaefi commented Jun 18, 2025

For the record:

I will be on vacation the next three days and will be back for further development on the topic by Monday June 30th

@Conan-Kudo
Copy link
Member

I checked the live ISO and checked the ESP partition:

.
└── EFI
    ├── BOOT
    │   ├── BOOTIA32.EFI
    │   ├── bootx64.efi
    │   ├── fbia32.efi
    │   ├── fbx64.efi
    │   ├── grub.cfg
    │   ├── grubia32.efi
    │   ├── grubx64.efi
    │   └── mmia32.efi
    └── fedora
        ├── BOOTIA32.CSV
        ├── BOOTX64.CSV
        ├── grub.cfg
        ├── grubia32.efi
        ├── grubx64.efi
        ├── mmia32.efi
        ├── mmx64.efi
        ├── shim.efi
        ├── shimia32.efi
        └── shimx64.efi

4 directories, 18 files

Oddly enough, mmx64.efi isn't in EFI/BOOT when I would expect it to be.

@schaefi
Copy link
Collaborator Author

schaefi commented Jun 23, 2025

Oddly enough, mmx64.efi isn't in EFI/BOOT when I would expect it to be.

yes there was a bug not copying all of mok manager. I fixed it. Next round building...

schaefi added 2 commits June 23, 2025 10:30
Allow to lookup and included EFI binaries/modules for
multiple architectures. For testing the integration
test in rawhide/test-image-live-disk has been adapted
accordingly to install 32bit and 64bit EFI binaries.
This Fixes #2822
Fix integration test for standard EFI (no secure boot)
setup on arm
@schaefi
Copy link
Collaborator Author

schaefi commented Jun 23, 2025

All integration tests passing.

Ready for functional review of the integration test. We need at least one confirmation that this is looking good ;)

Thanks

@Conan-Kudo
Copy link
Member

Looks good to me now!

.
└── EFI
    ├── BOOT
    │   ├── BOOTIA32.EFI
    │   ├── bootx64.efi
    │   ├── fbia32.efi
    │   ├── fbx64.efi
    │   ├── grub.cfg
    │   ├── grubia32.efi
    │   ├── grubx64.efi
    │   ├── mmia32.efi
    │   └── mmx64.efi
    └── fedora
        ├── BOOTIA32.CSV
        ├── BOOTX64.CSV
        ├── grub.cfg
        ├── grubia32.efi
        ├── grubx64.efi
        ├── mmia32.efi
        ├── mmx64.efi
        ├── shim.efi
        ├── shimia32.efi
        └── shimx64.efi

4 directories, 19 files

@Conan-Kudo Conan-Kudo merged commit 4bc5ae1 into main Jun 23, 2025
13 checks passed
@Conan-Kudo Conan-Kudo deleted the multi_efi_arch branch June 23, 2025 10:17
@Vogtinator
Copy link
Collaborator

There is shim.efi for aarch64 on openSUSE and SLE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ia32 binaries are not copied on x86_64 ISO image builds

4 participants