[syslinux] EFI 64bit and Kernel 32 bit

Ady Ady
Mon, 29 Oct 2018 17:34:29 -0000

> I was able to successfully boot 32-bit kernels with a 64-bit syslinux
> two years ago. There were a bug in syslinux that prevented it, but I was
> able to write a patch which is now in the latest tagged version as far
> as I remember.


When building a 32-bit Linux kernel with:

CONFIG_EFI_MIXED

and with all the other relevant settings/config/options for booting it
in UEFI mode, then the x64 variant of syslinux.efi + ldlinux.e64 from
version 6.04-pre1 or newer should in theory be able to boot it on
adequate hardware (i.e. x64 UEFI without secure boot, no "fast boot"
and no other "crap").

Note: older versions of Syslinux, including 6.03, will fail.

Considering that the most recent and up-to-date binary files ATM can be
found in Debian [Testing], I would suggest using those for tests
(please avoid mixing syslinux-related files from different versions /
builds). The Syslinux binaries from Debian Testing can be downloaded
and used by anyone, even those that don't use any GNU/Linux OS.

Reports (whether fail or success) would be nice.

Just in case, for casual readers, we are talking about:

* UEFI 64bits
* x64 variant of syslinux.efi 6.04-pre1 or newer (the binary files from
current Debian Testing would be strongly recommended ATM)
* 32bit Linux kernel, for (U)EFI, with CONFIG_EFI_MIXED

(please double-check that the tests are performed under these
conditions / versions / bitness)

Best Regards,
Ady.