[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