[syslinux] syslinux efi configuration file name proposal

Geert Stappers stappers at stappers.nl
Sat Aug 2 08:20:02 PDT 2014


Op 2014-08-01 om 20:35 schreef Ady:
> Goal: To have one USB drive capable of booting UEFI IA32 and UEFI X64 
> (with an optional Syslinux menu containing multiple entries).

What I would like to have is the same thing for network boot.
So having one topdirectory on the TFTP server that can serve
several "architectures".

> Problem (solved) #1: The default directory location for both 
> syslinux.efi is the same.
> 
> Solution #1: Rename each syslinux.efi to bootx64.efi and to 
> bootia32.efi.

| stappers op nero:~/dl/syslinux-6.03-pre19
| $ find . -name "*.efi"
| ./efi64/efi/syslinux.efi
| ./efi32/efi/syslinux.efi
| ./gpxe/src/arch/x86_64/Makefile.efi
| ./gpxe/src/arch/x86/Makefile.efi
| ./gpxe/src/arch/i386/Makefile.efi

That rename is _not_ in the 6.03 pre-release 19.


> Problem (solved) #2: Each syslinux.efi needs at least its respective 
> ldlinux module.
> 
> Solution #2: Each ldlinux module is renamed with its corresponding 
> file name extension according to firmware/architecture. Each 
> syslinux.efi searches for its respective ldlinux.{e32,e64} module.

| stappers op nero:~/dl/syslinux-6.03-pre19
| $ find . -name "ldlinux.e*"
| ./efi64/com32/elflink/ldlinux/ldlinux.e64
| ./efi64/com32/elflink/ldlinux/ldlinux.elf
| ./efi32/com32/elflink/ldlinux/ldlinux.e32
| ./efi32/com32/elflink/ldlinux/ldlinux.elf
| ./bios/com32/elflink/ldlinux/ldlinux.elf

That rename _is_ in the 6.03 pre-release 19.


> Problem (solved) #3: Similarly to the ldlinux module, the other 
> modules also use the same file names for every firmware/architecture.
> 
> Solution #3: Use the PATH directive and a combination of relative and 
> absolute path notation. This solution allows maintaining current 
> configurations, tutorials, easy copying, in-common cfg files... as 
> the same "c32" file name extension is kept for all alternatives.
> 
> 
> Problem #4: The initial configuration file, "syslinux.cfg", is also 
> using the same default file name and the same default location. The 
> content of "syslinux.cfg" might not be in-common to both UEFI 
> architectures (e.g. different values for the PATH directive).
> 
>  ---- 
> 
> Proposing a solution for Problem #4: syslinux.efi should look first 
> for a corresponding "sysl<arch>.cfg", and then fallback to 
> syslinux.cfg in the same searched-for location.

For netboot this would be  "pxel<arch>.cfg" and fallback
to "pxelinux.cfg".


> This proposal #4 is based on what ISOLINUX already uses for its 
> configuration file name: in the first searched-for directory, it 
> first looks for "isolinux.cfg" and then for "syslinux.cfg", and then 
> moves on to the next searched-for directory to repeat the procedure.
> 
> In the same way that syslinux.efi under X64 looks for ldlinux.e64, it 
> should also look for "syslx64.cfg" in the same location, and only if 
> "syslx64.cfg" is not found, then it should look for "syslinux.cfg" in 
> the same location.
> 
> Similarly, syslinux.efi under IA32 looks for ldlinux.e32, so it 
> should look for "syslia32.cfg" as configuration file in the same 
> location, and only if "syslia32.cfg" is not found, then it should 
> look for "syslinux.cfg" in the same location.
> 
> As usual, the searched name should be case-INsensitive.
> 
> The same searched-name order is valid, independently of the name of 
> syslinux.efi. In other words, whether the name of the boot loader is 
> "syslinux.efi", or "bootx64.efi" or any other, the relevant 
> configuration file is searched ("sysl<arch>.cfg"), before falling 
> back to search for the generic term, "syslinux.cfg", in the same 
> searched-for location.
> 
> The suggested name, "sysl<arch>.cfg", uses the same naming format as 
> the UEFI specification already uses for "boot<arch>.efi". This naming 
> format also respects the "8.3" format of FAT/ISO9660.
> 
> At this point, this proposal is relevant for syslinux.efi (UEFI 
> systems), but not for ldlinux.sys (BIOS systems), as it seems 
> unnecessary for the latter.
> 
> 
> @Peter,
> 
> Please consider this proposal.

And after consideration, please provide feedback.


Groeten
Geert Stappers
-- 
Leven en laten leven


More information about the Syslinux mailing list