How to boot Linux with extlinux

Okay, so as you wanted, here are the absolute minimum steps for me to install extlinux:

sudo apt-get install extlinux

sudo extlinux --install /boot/extlinux

And this did it. Couldn't really believe it but that worked. So here is some extra information: My system (uname)

3.13.0-24-generic (Kernel)
#46-Ubuntu SMP .. (Kernel version)
i686 (Processor and machine)

And the

apt-cache policy extlinux
extlinux:
  Installed: 3:4.05+dfsg-6+deb8u1
  Candidate: 3:4.05+dfsg-6+deb8u1
  Version table:
 *** 3:4.05+dfsg-6+deb8u1 0
        500 http://de.archive.ubuntu.com/ubuntu/ trusty/universe i368 Packages
        100 /var/lib/dpkg/status

The /boot/extlinux/extlinux.conf

default l0
prompt 1
timeout 50

include themes/debian/theme.cfg

I think it is the same as yours. And i don't think the debian-theme will vary. So here is my specific linux.cfg:

label l0
    menu label Ubuntu GNU/Linux, kernel 3.13.0-24-generic
    linux /vmlinuz-3.13.0-24-generic
    append initrd=/initrd.img-3.13.0-24-generic root=UUID=61e460f5-878a-4cff-be9c-12239153d59c ro quiet

label l0r
    menu label Ubuntu GNU/Linux, kernel 3.13.0-24-generic (recovery mode)
    linux /vmlinuz-3.13.0-24-generic
    append initrd=/initrd.img-3.13.0-24-generic root=UUID=61e460f5-878a-4cff-be9c-12239153d59c ro single
    text help
    This option boots the system into recovery mode (single-user)
    endtext

Okay, that's it.But here is some other interesting thing i found out about the boot process: I created "myvmlinuz" and "myinitrd.img" as copies of the original files under /boot and edited the extlinux.conf file to the following:

default test
prompt 1
timeout 50

#include themes/debian/theme.cfg
LABEL test
    MENU Test entry
    LINUX /myvmlinuz
    APPEND initrd=/myinitrd.img root=UUID=61e460f5-878a-4cff-be9c-12239153d59c

As far as i understand it, this is the minimum configuration to get a system working. Boots fine for me. Note that / is the root folder of the partition flagged as boot with extlinux on it in these files.

APPEND initrd=/myinitrd.img root=/dev/sda5

did also work. I used different partitions on one disk for / (sda5), /boot (sda1), swap and so on. I created /boot as a primary partition, don't know if that's important. Maybe you can try

cat /usr/lib/extlinux/mbr.bin > /dev/sda

if grub did something bad.

Well, I hope you get it to run, please let me know if it works!


Here is a good tutorial about Configuring extlinux's auto-update on Debian that should be what you are looking for:

A few days ago, I wrote about how to set up and configure extlinux (syslinux) as a bootloader. But on Debian or Ubuntu, if you make changes to files like /boot/extlinux/extlinux.conf directly, they'll be overwritten.

The configuration files are regenerated by a program called extlinux-update, which runs automatically every time you update your kernel. (Specifically, it runs from the postinst script of the linux-base package: you can see it in /var/lib/dpkg/info/linux-base.postinst.)

[...]