Dear Syslinux developers, I'd like to continue the discussion about this: http://www.syslinux.org/archives/2014-February/021659.html i.e. different directories for *.c32 files of BIOS, EFI32, and EFI64. I am wondering why we can not have *.c32 for the COMBOOT files of BIOS, *.e32 for the COMBOOT files of EFI32 *.e64 for the COMBOOT files of EFI64 As now the ldlinux file of syslinux 6.0x has, i.e. ldlinux.c32: BIOS ldlinux.e32: EFI IA32 ldlinux.e64: EFI X64 Because from the doc: http://www.syslinux.org/wiki/index.php/SYSLINUX#COM32_image it mentions: .c32 COM32 image (32-bit COMBOOT) Then it makes sense the *.c32 is for 32-bit. With EFI64, shall we have different name for that? With the different suffixes for 3 different architectures, we can put all the COMBOOT files in the same tftp/ftp/http dir. Then these 2 issues could be solved: 1. File name extension matches to its arch. 2. We could handle BIOS and EFI clients in one server, i.e. make the goal of "One DHCP/PXE config for BIOS, EFI32, and EFI64 clients": http://www.syslinux.org/archives/2013-September/020848.html Or maybe there are some key reasons I have missed so we can not have this? My 2 cents. Thanks. Steven. -- Steven Shiau <steven _at_ stevenshiau org> Public Key Server PGP Key ID: 4096R/47CF935C Fingerprint: 0240 1FEB 695D 7112 62F0 8796 11C1 12DA 47CF 935C
On Tue, Apr 22, 2014 at 8:15 PM, Steven Shiau <steven at nchc.org.tw> wrote:> > Dear Syslinux developers, > I'd like to continue the discussion about this: > http://www.syslinux.org/archives/2014-February/021659.html > i.e. different directories for *.c32 files of BIOS, EFI32, and EFI64. > I am wondering why we can not have > *.c32 for the COMBOOT files of BIOS, > *.e32 for the COMBOOT files of EFI32 > *.e64 for the COMBOOT files of EFI64 > As now the ldlinux file of syslinux 6.0x has, i.e. > ldlinux.c32: BIOS > ldlinux.e32: EFI IA32 > ldlinux.e64: EFI X64I recall a discussion on this but having difficulty finding it.> Because from the doc: > http://www.syslinux.org/wiki/index.php/SYSLINUX#COM32_image > it mentions: > .c32 COM32 image (32-bit COMBOOT) > Then it makes sense the *.c32 is for 32-bit. With EFI64, shall we have different name for that? > With the different suffixes for 3 different architectures, we can put all the COMBOOT files in the same tftp/ftp/http dir. Then these 2 issues could be solved: > 1. File name extension matches to its arch. > 2. We could handle BIOS and EFI clients in one server, i.e. > make the goal of "One DHCP/PXE config for BIOS, EFI32, and EFI64 clients": > http://www.syslinux.org/archives/2013-September/020848.htmlThe resulting config would require suffix-less module references, i.e. "UI menu" or "COM32 ls". Additionally, I documented the basics of my test system here: http://www.syslinux.org/archives/2014-February/021740.html Bear in mind, by "URL-like file locations", I mean that if we have "bios/pxelinux.0", "efi32/bootia32.efi" and "efi64/bootx64.efi" as paths relative to the root and a common kernel "shared/vmlinuz", you'd use "::shared/vmlinuz" or "tftp://<my-server>/shared/vmlinuz" in your configs instead of "../shared/vmlinuz" (which is prone to issues). Bear in mind, the only chance of a universal Linux kernel binary is with an x86 (32-bit) kernel with BIOS and EFI hooks. I can't be certain if Syslinux EFI64 can boot such a kernel yet.> Or maybe there are some key reasons I have missed so we can not have this? > My 2 cents.-- -Gene
On 2014/4/23 ?? 09:55, Gene Cumm wrote:> The resulting config would require suffix-less module references, i.e. > "UI menu" or "COM32 ls". > > Additionally, I documented the basics of my test system here: > > http://www.syslinux.org/archives/2014-February/021740.html > > Bear in mind, by "URL-like file locations", I mean that if we have > "bios/pxelinux.0", "efi32/bootia32.efi" and "efi64/bootx64.efi" as > paths relative to the root and a common kernel "shared/vmlinuz", you'd > use "::shared/vmlinuz" or "tftp://<my-server>/shared/vmlinuz" in your > configs instead of "../shared/vmlinuz" (which is prone to issues).Because pxelinux.0, bootia32.efi and bootx64.efi are different names, so I can put them in the same path, no problem for this, i.e. $ ls -alFh /tftpboot/nbi_img/{*.0,*.efi} -rw-r--r-- 1 root root 157K Apr 22 15:30 /tftpboot/nbi_img/bootia32.efi -rw-r--r-- 1 root root 160K Apr 22 15:30 /tftpboot/nbi_img/bootx64.efi -rw-r--r-- 1 root root 105K Apr 22 15:30 /tftpboot/nbi_img/gpxelinux.0 -rw-r--r-- 1 root root 74K Apr 22 15:30 /tftpboot/nbi_img/lpxelinux.0 -rw-r--r-- 1 root root 42K Apr 22 15:30 /tftpboot/nbi_img/pxelinux.0 My goal is to put all the required COMBOOT files in the same path (/tftpboot/nbi_img/), too. No subdir, so that I can make the goal of "One DHCP/PXE config for BIOS, EFI32, and EFI64 clients": http://www.syslinux.org/archives/2013-September/020848.html> > Bear in mind, the only chance of a universal Linux kernel binary is > with an x86 (32-bit) kernel with BIOS and EFI hooks. I can't be > certain if Syslinux EFI64 can boot such a kernel yet.Actually not x86 (32-bit), I use x86-64 kernel from Ubuntu or Debian, and of course, it could boot both on EFI64 or BIOS arches. So I should change the goal as: "One DHCP/PXE config for BIOS (legacy PXE boot) and EFI64 (uEFI network boot) clients" Thanks! Steven. -- Steven Shiau <steven _at_ stevenshiau org> Public Key Server PGP Key ID: 4096R/47CF935C Fingerprint: 0240 1FEB 695D 7112 62F0 8796 11C1 12DA 47CF 935C