5

I'm running Archlinux using Syslinux as a bootloader. Right now the kernel image and initramfs are in /boot and all of the Syslinux stuff (configuration file and modules) are in /boot/syslinux.

I'm planning on moving the Syslinux directory to a different partition, but I don't know how to modify the configuration so it loads the kernel from a different partition.

This is the configuration part I have referring to Arch, how could I tell it to look for everything in a different partition?

LABEL arch
MENU LABEL Arch Linux
LINUX /boot/vmlinuz-linux
APPEND initrd=/boot/initramfs-linux.img root=/dev/disk/by-label/RootFS rootflags=,relatime,user_xattr,barrier=1,data=ordered rootfstype=ext4 ro
Jamie
  • 53
  • 1
  • 3

1 Answers1

1

Judging from the ArchWiki's pages on Syslinux, I suppose the only way this is possible is to chainload another Syslinux-bootloader, like (untested)

LABEL boot_hd2_2
MENU LABEL Boot second primary partition from thirth hard drive
COM32 chain.c32
APPEND hd2 2

Where hd2,2 also carries Syslinux bootcode, in the usual "boot kernel from here"-style.

(This is kind of clumsy, why not just use Grub2?)

sr_
  • 15,224
  • 49
  • 55
  • Yep, apparently this one is the only solution for now as Syslinux doesn't seem to access files in other partitions. I wanted to use a single bootloader, right now I'm chainloading Syslinux from Windows' BCD because Windows doesn't like not to be the boot partition (suspension or hibernation doesn't work correctly). I don't change to GRUB2 because I find it to be pretty slow compared to the old Grub or Syslinux. – Jamie May 08 '12 at 14:17
  • Syslinux chainloads anything, not just syslinux. – Robert Siemer Jan 21 '15 at 16:42