Denna korta instruktion visar hur man kan skapa en startbar USB-enhet med starthanteraren EXTLINUX. Det kan vara användbart om du exempelvis byggt din egen Linuxkärna och ditt eget root-filsystem, som i denna instruktion.
Till skillnad från SYSLINUX som är till för FAT-formaterade enheter kan EXTLINUX användas för EXT2/3/4 och btrfs-formaterade enheter.
Lista dina fysiska enheter i ditt system:
# fdisk -l
I detta system identifierades USB-enheten som /dev/sdc. Anpassa efter ditt system.
Radera data på enheten. Var noggrann med att inte partionera/formatera fel enhet! Vi skapar här en EXT3-partition (hela enheten) och markerar den som uppstartbar.
# fdisk /dev/sdc
o<ENTER>
n<ENTER>
p<ENTER>
1<ENTER>
<first cylinder, ENTER>
<last cylinder, ENTER>
t<ENTER>
83<ENTER> <-- partition type : Linux
a<ENTER>
1<ENTER>
w<ENTER>
Partionering klar!
Nu när enheten är partionerad måste ett filsystem skapas på /dev/sdc1 (partitionen vi nyss skapade):
# mkfs -t ext3 /dev/sdc1 -L <namn>
<namn> är enhetens namn.
TIPS: ändra enhetsnamn
# tune2fs -L <nyttnamn> /dev/sdc1
Montera enheten (som root)
# mkdir /mnt/usb
# mount /dev/sdc1 /mnt/usb
Hämta senaste paketet med SYSLINUX/EXTLINUX (6.03 när detta skrevs. Jag fann dock ingen mbr.bin i det så jag tog hem 5.x-serien)
# wget https://www.kernel.org/pub/linux/utils/boot/syslinux/5.xx/syslinux-5.10.tar.bz2
# tar xvjf syslinux*.tar.bz2
# cd syslinux*
Installera MBR på enheten
# cd mbr
# cat mbr.bin >/dev/sdc
Installera EXTLINUX
# cd ../extlinux
# ./extlinux --install /mnt/usb
Skapa en konfigurationsfil, extlinux.conf som innehåller följande:
# nano /mnt/usb/extlinux.conf
DEFAULT linux
LABEL linux
SAY Starar nu kärnan från SYSLINUX/EXTLINUX...
KERNEL bzImage
APPEND ro root=/dev/sda1 initrd=initramfs.cpio.gz
Lägg till din Linuxkärna, här kallad bzImage. Lägg till ditt root-filsystem, här som initramfs.cpio.gz.
Avmontera din USB-enhet
# cd && umount /mnt/usb
Testkör din USB-enhet genom att starta från den, på riktigt, i Qemu eller Virtuabox.
Inspirerad av https://agentoss.wordpress.com/2011/02/28/how-to-create-a-bootable-linux-usb-drive-using-extlinux/