Michael D. Setzer II
2013-Jul-05 09:15 UTC
[syslinux] Option to create livecd using new syslinux to support multiple machines.
Wondering what the best process would be to create livecds using the newer version of syslinux. Currently my G4L project has just been upgraded to syslinux 5.10 and works fine with regular 32 and 64 bit systems using the 32bit kernels, but have seen comments about EFI and somethings about 32bit only working with 32bit and 64bit with 64bit? Since I average about 1,000 downloads per week, I would expect that a range of computers are being used, so looking if a single setup will continue to work, or if multiple builds will be required? +----------------------------------------------------------+ Michael D. Setzer II - Computer Science Instructor Guam Community College Computer Center mailto:mikes at kuentos.guam.net mailto:msetzerii at gmail.com http://www.guam.net/home/mikes Guam - Where America's Day Begins G4L Disk Imaging Project maintainer http://sourceforge.net/projects/g4l/ +----------------------------------------------------------+ http://setiathome.berkeley.edu (Original) Number of Seti Units Returned: 19,471 Processing time: 32 years, 290 days, 12 hours, 58 minutes (Total Hours: 287,489) BOINC at HOME CREDITS SETI 15291498.693231 | EINSTEIN 12157999.539852 ROSETTA 7858425.440171 | ABC 16123851.210856
Klaus Knopper
2013-Jul-05 10:35 UTC
[syslinux] Option to create livecd using new syslinux to support multiple machines.
Hello Michael, On Fri, Jul 05, 2013 at 07:15:32PM +1000, Michael D. Setzer II wrote:> Wondering what the best process would be to create livecds using > the newer version of syslinux.For BIOS mode, I currently stay with the "old" syslinux 4 version for now, if you don't need any of the new features or modules. Version 4 was monolithic and rock-stable, and BIOS loading has not changed much since the early days.> Currently my G4L project has just been upgraded to syslinux 5.10 > and works fine with regular 32 and 64 bit systems using the 32bit > kernels, but have seen comments about EFI and somethings > about 32bit only working with 32bit and 64bit with 64bit?EFI looks for a 64bit loader /efi/boot/bootx64.efi by default on 64bit machines, and looks for a 32bit loader /efi/boot/bootx32.efi by default on 32bit machines. Both can be renamed from the right bitness version of syslinux.efi (plus ldlinux.e32 and ldlinux.e64). My own experiments showed that the current GIT version of syslinux.efi will only start the kernel with a matching bitness, otherwise it crashes and in the best case, brings you back to the EFI menu. I.e., you will need a 64bit kernel and 64bit syslinux.efi for starting a 64bit EFI-booting computer, and a 32bit kernel, 32bit syslinux.efi for a 32bit EFI-booting computer (do they exist?). Booting a 32bit kernel on a 64bit computer is, as far as I can tell, currently not possible with syslinux.efi. You will have to switch the computer to the CSM (BIOS compatibility) mode in order to use the BIOS version of syslinux there.> Since I average about 1,000 downloads per week, I would expect > that a range of computers are being used, so looking if a single > setup will continue to work, or if multiple builds will be required?I use syslinux 4 for booting in BIOS mode, and syslinux.efi 32- and 64bit from the "firmware" git branch with two different kernels in the Knoppix 7.2.0DVD, installed on USB flash disk version. You may want to have a look at the directory structure there. The /boot/syslinux/syslinux.cfg file can be reused for both, but syslinux.efi currently can't load lss16 boot splash graphics, so the boot picture is missing in EFI mode. Regards -Klaus
Matt Fleming
2013-Jul-05 10:51 UTC
[syslinux] Option to create livecd using new syslinux to support multiple machines.
On Fri, 05 Jul, at 07:15:32PM, Michael D. Setzer II wrote:> Wondering what the best process would be to create livecds using > the newer version of syslinux. > > Currently my G4L project has just been upgraded to syslinux 5.10 > and works fine with regular 32 and 64 bit systems using the 32bit > kernels, but have seen comments about EFI and somethings > about 32bit only working with 32bit and 64bit with 64bit?I'm super happy to hear about your success with 5.10. Here is the break down of issues with EFI and 32/64-bits in 6.01... EFI firmware will only load a bootloader built for the same bitness, e.g. 32-bit EFI firmware will only load Syslinux efi32 and 64-bit firmware will only load Syslinux efi64. There's no easy way around this. Currently, the support for booting a 32-bit kernel from Syslinux efi64 is sitting in a topic branch on my hard disk, and while booting a 64-bit kernel from Syslinux efi32 may work out of the box now, it hasn't been tested as far as I know (it's also a lot less useful for most people). Lots of people have requested the ability to boot a 32-bit kernel from Syslinux efi64, so merging the topic branch is pretty high up on my TODO list. I'm thinking I'll get to it some time next week. One further thing to mention while we're discussing mixing bitness - the kernel currently has no EFI runtime support when you mix firmware/kernel bitness. For instance, the following boot scenario, 64-bit firmware -> Syslinux efi64 -> 32-bit kernel will mean that once you've booted your kernel, you won't be able to read/write EFI variables. I do have plans to add support for this in the future.> Since I average about 1,000 downloads per week, I would expect > that a range of computers are being used, so looking if a single > setup will continue to work, or if multiple builds will be required?I know that Fedora provides livecds that work with BIOS and EFI using the isohybrid scheme. I'd suggest looking to see what they're doing. -- Matt Fleming, Intel Open Source Technology Center
Matt Fleming
2013-Jul-18 14:46 UTC
[syslinux] Option to create livecd using new syslinux to support multiple machines.
On Fri, 05 Jul, at 12:35:58PM, Klaus Knopper wrote:> EFI looks for a 64bit loader /efi/boot/bootx64.efi by default on 64bit > machines, and looks for a 32bit loader /efi/boot/bootx32.efi by default > on 32bit machines.FYI, the filename for 32-bit is actually bootia32.efi. -- Matt Fleming, Intel Open Source Technology Center