[syslinux] EFI32, EFI64 on one disk
Ady Ady
ady-sf at hotmail.com
Mon Apr 15 09:53:21 PDT 2019
> Hello,
>
> i would like create a bootdisk , that can be boot from Old BIOS, EFI32 and
> EFI64.
>
> But for EFI Boot there is only one directory /EFI/BOOT/
> In this directory I can copy BOOTia32.EFI and BOOTx64.EFI.
>
> But the *.c32 files for EFI32 & EFI64 , I can install to this directory at the
> same time.
>
> Is there a way to load the *.c32 from different directory ?
Using Syslinux 6.04-pre1, you can use the PATH directive, together with
SYSLIA32.CFG and SYSLX64.CFG.
In the following example, the file "SYSLUEFI.CFG" is "in-common" to both UEFI
platforms, and each of the other 2 cfg files is parsed by its respective
"syslinux.efi" (renamed) only (i.e. depending on the platform you are booting).
The respective c32 modules are then located under '/EFI/BOOT/X64/' and
/EFI/BOOT/IA32/'. The core modules, LDLINUX.E{32,64} are located under
'/EFI/BOOT/', together with the 2 "*.EFI" files and the CFG files.
### /EFI/BOOT/SYSLIA32.CFG start ###
PATH IA32
INCLUDE SYSLUEFI.CFG
### /EFI/BOOT/SYSLIA32.CFG end ###
### /EFI/BOOT/SYSLX64.CFG start ###
PATH X64
INCLUDE SYSLUEFI.CFG
### /EFI/BOOT/SYSLX64.CFG end ###
### /EFI/BOOT/SYSLUEFI.CFG start ###
UI vesamenu.c32
LABEL catl
COM32 cat.c32
APPEND SYSLUEFI.CFG
LABEL mylabel
LINUX mykernel
INITRD myinitrd
APPEND myoptions
### /EFI/BOOT/SYSLUEFI.CFG end ###
Just in case someone was not reading carefully, this method is available in
6.04-pre1 (not in 6.03).
About the PATH directive, see:
www.syslinux.org/wiki/index.php/Config#PATH
HTH,
Ady.
More information about the Syslinux
mailing list