syslinux

EXTLINUX GPT Installation

Before anything, you will need to use gdisk to edit a partition and set a legacy MBR bootflag for it. The option is available in the expert list of options in the gdisk menu.

Writing the changes to the MBR will not delete your partitions.

gdisk /dev/sda

Install the new GPT bootloader:

dd bs=440 conv=notrunc count=1 if=/usr/share/syslinux/gptmbr.bin of=/dev/sda
cd /usr/share/syslinux/
cp chain.c32 ldlinux.c32 libcom32.c32 libutil.c32 linux.c32 memdisk menu.c32 vesamenu.c32 reboot.c32 poweroff.c32 rosh.c32 /boot/extlinux/

Create a configuration file, and install EXTLINUX.

This file sets the timeout to 60 seconds.

TIMEOUT 600
ONTIMEOUT vmlinuz-3.12.21-gentoo-r1

UI vesamenu.c32
MENU TITLE Boot

LABEL vmlinuz-3.12.21-gentoo-r1
        MENU LABEL Gentoo Linux 3.12.21-gentoo-r1
        LINUX /boot/vmlinuz-3.12.21-gentoo-r1
        APPEND root=/dev/sda1

LABEL vmlinuz-3.10.17-gentoo
        MENU LABEL Gentoo Linux 3.10.17-gentoo
        LINUX /boot/vmlinuz-3.10.17-gentoo
        APPEND root=/dev/sda1
extlinux --install /boot/extlinux/

Here's an example of a longer extlinux.conf, with version 6.00 and above:

TIMEOUT 100
ONTIMEOUT gentoo-3.14.24-ck

UI menu.c32
MENU TITLE Boot

LABEL gentoo-3.14.24-ck
	MENU LABEL Gentoo Linux 3.14.24-ck
	LINUX /boot/vmlinuz-3.14.24-ck root=/dev/sda1 quiet

LABEL gentoo-ck2
	MENU LABEL Gentoo Linux 3.14.4-ck (quiet)
	LINUX /boot/vmlinuz-3.14.4-ck root=/dev/sda1 quiet

LABEL gentoo-ck2-quiet
	MENU LABEL Gentoo Linux 3.14.4-ck
	LINUX /boot/vmlinuz-3.14.4-ck root=/dev/sda1

LABEL windows7
	MENU LABEL Windows 7
	COM32 chain.c32
	# APPEND hd1 2
	APPEND mbr:1FF400E3-1632-43B4-BDEA-FC2D558E23F0

LABEL reboot
	MENU LABEL Reboot
	COM32 reboot.c32

LABEL poweroff
	MENU LABEL Power off
	COM32 poweroff.c32

LABEL rosh
	MENU LABEL Read-only shell
	COM32 rosh.c32