Extlinux

From Funtoo
Revision as of 17:21, 28 January 2014 by Duncan.Britton (Talk)

Jump to: navigation, search

What is ExtLinux?

ExtLinux is a simple and modern systemloader bundled with the syslinux tools. Installation is simple and fast, and thanks to our CoreTeam member Slashbeast the configuration is easily automated.

Installing ExtLinux for funtoo

Installing ExtLinux for funtoo is known to work and supported too. If you like to try it just emerge syslinux

# emerge syslinux

with that you have the complete syslinux tools installed. Another helpful tool you should merge with syslinux is slashbeast's lazykernel tool, so let us merge it too:

# emerge lazykernel

Installing extlinux

to install extlinux just follow these steps:

# install -d /boot/extlinux
# extlinux --install /boot/extlinux

the next steps are different depending if you use an MBR or GPT setup and the HDD you installed on and want to boot from. Let us now for general take /dev/sda as your boot device.

MBR

If you set up your disk with MBR partition scheme just do the next steps:

# dd bs=440 conv=notrunc count=1 if=/usr/share/syslinux/mbr.bin of=/dev/sda
# cp /usr/share/syslinux/menu.c32 /boot/extlinux/
# cp /usr/share/syslinux/libutil.c32 /boot/extlinux/
# touch /boot/extlinux/extlinux.conf

GPT

# sgdisk /dev/sda --attributes=1:set:2
# sgdisk /dev/sda --attributes=1:show
1:2:1 (legacy BIOS bootable)
# dd bs=440 conv=notrunc count=1 if=/usr/share/syslinux/gptmbr.bin of=/dev/sda
# cp /usr/share/syslinux/menu.c32 /boot/extlinux/
# cp /usr/share/syslinux/libutil.c32 /boot/extlinux/
# touch /boot/extlinux/extlinux.conf

Setting up the Kernel

Now if you followed our advice to install lazykernel we have a pretty nice way to solve all the setup with a bit of prework and finish it then. If not you should go to the manual part. :)

lazykernel way

Edit /etc/lazykernel.conf:

{{{name}}}
{{{body}}}

please make sure to comment out or delete the second line of the config file, else it will spit out an error for you... :)

Now let us setup our kernel with lazykernel if you have a manual kernel just run:

# cd <kernel build dir>
# lazykernel auto

that will generate the modules for you, copy your kernel form /usr/src/linux over to /boot and generate the /boot/extlinux/extlinux.conf for you. The manual kernel will be the only supported one by lazykernel.

That's all you are ready to boot. :)

manual extlinux.conf

For other kernels, like those created by genkernel or by the binary USE-flag you need to edit your config by yourself. Just open /boot/extlinux/extlinux.conf in your favorite editor:

{{{name}}}
{{{body}}}

That's all again you are ready for boot. You can also define several LABELs in that list to have multiple kernels been booted... :)