How to install onto 32-bit EFI?

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
total 1820
-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


$ efibootmgr
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0002
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.

1 Like

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.

1 Like

Fedora ships with grub2-efi-ia32.x86_64 and 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.

1 Like

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.