[arch-general] syslinux.cfg
Leonid Isaev
leonid.isaev at jila.colorado.edu
Thu Feb 16 03:38:05 UTC 2017
On Thu, Feb 16, 2017 at 03:09:23AM +0100, Ralf Mardorf wrote:
> Hi,
>
> is the no way to get a menu
>
>
> Arch kernel 1
> Arch Kernel 2
> Foo Kernel 1
> Foo Kernel 2
>
>
> when using syslinux?
>
> Or even while booting another Linux requires chainloading, there's a
> feature to chose between all available kernels of another Linux by the
> "main" menu?
>
> IIUC chainloading only could provide
>
>
> Arch kernel 1
> Arch Kernel 2
> Foo
>
>
> and just when selecting Foo I can chose between
>
>
> Foo Kernel 1
> Foo Kernel 2
>
> and perhaps
>
> Arch
>
>
> so assuming I then decide to go back to the Arch menu, I need to
> chainload Arch from the chainloaded other Foo Linux?
No, you only need chainloading in special cases, for instance if syslinux can't
boot from a filesystem containing Foo kernels, or windows.
Let's assume that you have the following:
* /dev/sda1 -- mounted at /boot when you boot your ArchLinux system
* /dev/sdb1 -- the same for Foo
* syslinux is installed on /dev/sda1 (it is bootable).
What I usually do, is mkdir /dev/sda1/{arch,foo} and rsync kernels/initrds from
/dev/sda1 to arch/ and from /dev/sdb1 to foo/. Then, modify syslinux.cfg so
that entries like LINUX ../vmlinuz-linux become LINUX ../arch/vmlinuz-linux and
similarly for INITRD. Finally, in your Arch's and Foo's fstabs, bind-mount
arch/ and foo/ to respective /boot's (if desired of course, as you don't need
to have /boot mounted). This way you get the menu that you mentioned first.
You no longer need data in /dev/sdb1 and can free the partition.
HTH,
--
Leonid Isaev
More information about the arch-general
mailing list