I saw an issue at 1474861 – 32 bit UEFI Support which discussed adding 32-bit EFI boot support
Some x86 systems ship with a 64 bit CPU, but 32 bit UEFI firmware. It is possible to use a 32 bit UEFI grub build to boot a 64 bit kernel and distribution on these systems. So far this setup has not been supported in Fedora. This feature is about adding support for installing and booting Fedora on this hardware.
and was closed as “CURRENTRELEASE”. However, it doesn’t work.
I want this so that I can install Fedora onto my LINX 1010B. Without this, I either have to customize the installation image myself, or they’re paperweights. Yet they’re 64-bit UEFI devices with TPMs; it’s not like they’re not modern!
Fedora does not (and has not for some time) support a 32 bit kernel. Thus everything must mostly have 64 bit support.
The uefi bios is different and dependent upon the bios itself as well as the image within the OS that is used to launch the boot loader.
If one looks at the content of /boot/efi/EFI/BOOT & /boot/efi/EFI/fedora one sees several images, including those shown here
$ sudo ls -l /boot/efi/EFI/BOOT
-rwx------. 1 root root 742064 Jul 7 2022 BOOTIA32.EFI
-rwx------. 1 root root 946712 Jul 7 2022 BOOTX64.EFI
-rwx------. 1 root root 70776 Jul 7 2022 fbia32.efi
-rwx------. 1 root root 90280 Jul 7 2022 fbx64.efi
Timeout: 1 seconds
Boot0001* Fedora HD(1,GPT,d88410d4-9b86-44e0-9f0d-942c22820ef7,0x800,0x77000)/File(\EFI\FEDORA\SHIMX64.EFI)
Boot0002* Fedora HD(1,GPT,d88410d4-9b86-44e0-9f0d-942c22820ef7,0x800,0x77000)/File(\EFI\FEDORA\SHIM.EFI)0000424f
It would appear that there may be a means to boot using a 32 bit efi boot loader, but I have not tried it and would not know how to start.
While I am not certain I would guess that boot selection 0002 would be a 32 bit efi boot loader.
Also, if the 32-bit grub does not work, there is a proposal to enable selecting the systemd bootloader for the next release of Fedora Linux (39).
There is a chance that that bootloader may work better with 32 bit UEFI implementations.
Fedora ships with
shim-ia32.x86_64 which is supposed to work with 32bit UEFI. The kernel will always be 64 bit. It is likely this is not very well tested as the developers may not have the hardware to test on.
Indeed, it certainly appears like support was just accidentally broken rather than deliberately removed.
Files shim.efi and shimx64.efi are identical so they are both 64bit shims.