[syslinux] 32bit OS on 64bit architectures

Ady Ady
Wed, 29 Mar 2017 16:25:38 -0000

> hi
>
> i was creating a boot stick for BIOS years ago, which still is working -
> of course. need just update kernels.
>
> i now need to set up new linux laptops. as i do not want to run into
> troubles i do intend to create a new stick for UEFI. do not mix
> BIOS/UEFI on one device. once again nothing fancy. prompt and say will
> do. was reading all available text about best solution.
>
> i so prepared a stick with GPT and fat32 partition with all EFI folders
> proposed by <www.syslinux.org/archives/2015-May/023469.html>.
anything
> works fine for 64bit kernels on 64bit architecture system.
>
> i'll not run java nor oracle blow ware. kernels are well performing
with
> less than 1gB RAM. X64 systems should be able to run 32bit kernels as
> well. i tried it. show up finding kernel and initrd with ok .. and
> crashes thereafter.
>
> questions:
> - should it be possible to boot a 32bit kernel on X64 systems?


If the x86 (IA32) kernel was built with CONFIG_EFI_MIXED enabled (among
the other "typical" settings), then the answer should in theory be
"yes", although, I would recommend using version 6.04-pre1 or newer of
Syslinux.


> - if yes - can it be done using syslinux UEFI as already setup?


I don't see why not. Moreover, with v.6.04-pre1 the selection between
64/32 bits doesn't need to be manual anymore; syslinux.efi (IA32)
should be able to find 'syslia32.cfg', and syslinux.efi (X64) should be
able to find 'syslx64.cfg'.


> - i looked for available information - what did i miss?


There is something that many users seem to confuse: it is not the
architecture of the microprocessor (x32 or x64) that defines which
syslinux.efi is to be used, but rather the firmware.

If the _firmware_ is UEFI x64, then use the adequate syslinux.efi file,
plus ldlinux.e64. With that bootloader, you should be able to load a
(CONFIG_EFI_MIXED-enabled) Linux kernel for x86 (IA32) or for x86_64
(X64).

If the _firmware_ is UEFI x64, then the syslinux.efi file for x86
(IA32) won't boot in such system (and it is not needed, nor intended
for such platform).

BTW, it is possible to use a mix of SYSLINUX (for BIOS) and
syslinux.efi in the same (USB) device, especially with 6.04-pre1 (or
newer), which automatically supports 'syslx64.cfg' and
'syslia32.cfg'.

If any of these claims are not met in your case, please report back
with additional details.

>
> juerg, call me george

Regards,
Ady.

> _______________________________________________
> Syslinux mailing list
> Submissions to Syslinux at zytor.com
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux