[syslinux] sys/extlinux booting of kernel on different partition (two linux installs)

Gene Cumm gene.cumm at gmail.com
Sun Jan 31 04:14:53 PST 2016


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


More information about the Syslinux mailing list