[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