james harvey
2016-Jan-31 05:41 UTC
[syslinux] sys/extlinux booting of kernel on different partition (two linux installs)
I have LVM volumes: /dev/disk1/main /dev/disk1/mainboot /dev/disk1/other /dev/disk1/otherboot I can boot main by using syslinux with syslinux.cfg including: LABEL main MENU LABEL Main LINUX ../vmlinuz-linux APPEND root=UUID={UUID} {kernel parameters} INITRD ../initramfs-linux.img (1) I see a lot of places saying syslinux can't boot a kernel on another partition, and that you have to use extlinux for this. But, then http://www.syslinux.org/wiki/index.php/Install says "[4.00+] EXTLINUX has been merged into SYSLINUX, and both use 'ldlinux.sys' as bootloader file." Does this mean syslinux can now boot a kernel on another partition? Or, am I misunderstanding the scope of the merge, and do I still need to use extlinux? (2) What is the label I need to give in the .cfg to boot /dev/disk1/otherboot/vmlinuz-linux? (3) Can I just have one installation of syslinux, or do I need to chain load a second? If so, how do I do this, using LVM volumes? The syntax I see documented is "com32 chain.c32 \ append hd0 0" which doesn't apply to LVM. My preference is one installation of syslinux, but I can chain load if necessary. In case it's material, I want to have an arch installation on main and another on other. Not worth going into reasons. I need their respective boot partitions separate, because I'm using compressed btrfs on main and other, which syslinux can't boot off, so their boot partitions have to be uncompressed.
Gene Cumm
2016-Jan-31 12:14 UTC
[syslinux] sys/extlinux booting of kernel on different partition (two linux installs)
On Sun, Jan 31, 2016 at 12:41 AM, james harvey via Syslinux <syslinux at zytor.com> wrote:> I have LVM volumes: > /dev/disk1/main > /dev/disk1/mainboot > /dev/disk1/other > /dev/disk1/otherboot > > I can boot main by using syslinux with syslinux.cfg including: > LABEL main > MENU LABEL Main > LINUX ../vmlinuz-linux > APPEND root=UUID={UUID} {kernel parameters} > INITRD ../initramfs-linux.img > > (1) I see a lot of places saying syslinux can't boot a kernel on > another partition, and that you have to use extlinux for this. But, > then http://www.syslinux.org/wiki/index.php/Install says "[4.00+] > EXTLINUX has been merged into SYSLINUX, and both use 'ldlinux.sys' as > bootloader file." Does this mean syslinux can now boot a kernel on > another partition? Or, am I misunderstanding the scope of the merge, > and do I still need to use extlinux?No Syslinux variant can load items outside the current file system space, yet. SYSLINUX can't load anything outside its current block file system. ISOLINUX can't load anything outside its current ISO image. PXELINUX can only load network files. Similar rules apply for Syslinux EFI based on where it was loaded from. There's a patchset that will be put into a new branch shortly to extend this. As of Syslinux 4.00, the EXTLINUX boot loader variant was merged with SYSLINUX however there's still multiple installers for Linux. syslinux will install to some supported unmounted file systems while extlinux will install to all supported mounted file systems.> (2) What is the label I need to give in the .cfg to boot > /dev/disk1/otherboot/vmlinuz-linux?multifs syntax was discussed recently. (hdX,Y)/path/to/file> (3) Can I just have one installation of syslinux, or do I need to > chain load a second? If so, how do I do this, using LVM volumes? The > syntax I see documented is "com32 chain.c32 \ append hd0 0" which > doesn't apply to LVM. My preference is one installation of syslinux, > but I can chain load if necessary.For now, a second however Syslinux isn't LVM aware.> In case it's material, I want to have an arch installation on main and > another on other. Not worth going into reasons. I need their > respective boot partitions separate, because I'm using compressed > btrfs on main and other, which syslinux can't boot off, so their boot > partitions have to be uncompressed.Correct, Syslinux does not support compressed files. -- -Gene
james harvey
2016-Jan-31 22:32 UTC
[syslinux] sys/extlinux booting of kernel on different partition (two linux installs)
> No Syslinux variant can load items outside the current file system > space, yet. SYSLINUX can't load anything outside its current block > file system. ISOLINUX can't load anything outside its current ISO > image. PXELINUX can only load network files. Similar rules apply for > Syslinux EFI based on where it was loaded from. There's a patchset > that will be put into a new branch shortly to extend this.. . .> multifs syntax was discussed recently. (hdX,Y)/path/to/fileThanks for your detailed reply. These two statements confuse me. Is multifs syntax just for the future, when a Syslinux variant can load items outside the current file system? Otherwise, these two statements seem to conflict to me.
Possibly Parallel Threads
- sys/extlinux booting of kernel on different partition (two linux installs)
- sys/extlinux booting of kernel on different partition (two linux installs)
- [PULL 0/8] MultiFS suppport for BIOS and EFI
- Embedding com32 modules and ldlinux.sys into one file
- [PATCH] extlinux: Make sure ldlinux.sys file is installed