Efendim sene olmuş 2011, sağda solda listelerde GRUB legacy (0.9x) kullanıp da of aman bu benim sistem niye boot etmiyor diyenler vs. oluyor. Neyse ki GRUB2 geldi, hoşgeldi sefalar getirdi. Hatta forkları sayesinde (bkz. BURG) boot menüsüne renk geldi. Lakin GRUB2 gibi ağır sistemler (burada ağırdan kastım çok fazla modülü vs. olması) yerine syslinux kullanmak K.I.S.S felsefesine takılanlar için alternatif bir seçim olabilir.
Arch Linux 2010.x ve sonrası bir sürümü kurmak istediğinizde, boot ettiğinizde karşınıza çıkan bootmanager’ın adı syslinux. Kendisinin kullanım alanı oldukça fazla ama sistemde boot manager olarak kullanım istatistiklerine baktığımızda pek bilindiği söylenemez. syslinux, ext3, ext4, btrfs ve hattan nilfs olarak biçimlendirilmiş bölümlerden bile boot edebilen oldukça faydalı bir araç seti. Araç seti diyorum çünkü içinden pxeboot, isolinux vb. bir çok araç çıkıyor; İsviçre çakısı gibi maşallah
. Geçen sene Özgür Yazılım Günleri etkinliğinde ağdan Arch kurulumu gerçekleştirmek için kullandığımız araç da syslinux’un bir parçası olan PXElinux idi, FYI. Gelelim syslinux’u nasıl kullanacağımıza:
Paket yöneticinizden syslinux paketini kurun. En dandik dağıtımda bile syslinux mutlaka yer alır
, endişeniz olmasın. Ben Arch Linux’a göre anlatacağım:
pacman -S syslinux
Daha sonra eğer syslinux otomatik her işi yapsın, kendini de MBR‘ye atsın istiyorsanız:
/usr/sbin/syslinux-install_update -iam diyerek syslinux’u kullanıma hazır hale getirebilirsiniz. Bu komuttan sonra yapacağınız tek iş, /boot/syslinux/syslinux.cfg dosyasını düzenlemek olacaktır.
Örnek olarak kendi syslinux.cfg dosyamı da paylaşayım:
UI vesamenu.c32
DEFAULT arch
PROMPT 0
MENU TITLE Boot Menu
MENU BACKGROUND splash.png
TIMEOUT 50
MENU WIDTH 78
MENU MARGIN 4
MENU ROWS 5
MENU VSHIFT 10
MENU TIMEOUTROW 13
MENU TABMSGROW 11
MENU CMDLINEROW 11
MENU HELPMSGROW 16
MENU HELPMSGENDROW 29
# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
MENU COLOR border 30;44 #40ffffff #a0000000 std
MENU COLOR title 1;36;44 #9033ccff #a0000000 std
MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel 37;44 #50ffffff #a0000000 std
MENU COLOR help 37;40 #c0ffffff #a0000000 std
MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07 37;40 #90ffffff #a0000000 std
MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
LABEL arch
MENU LABEL Arch Linux
LINUX /vmlinuz26
APPEND root=/dev/sda3 resume=/dev/sda2 ro quiet splash
INITRD /kernel26.img
LABEL archfallback
MENU LABEL Arch Linux Fallback
LINUX /vmlinuz26
APPEND root=/dev/sda3 ro quiet
INITRD /kernel26-fallback.img
LABEL reboot
MENU LABEL Reboot
COM32 reboot.c32
LABEL poweroff
MENU LABEL Power Off
COMBOOT poweroff.com
Renkleri ayarlanabilen, png gösterebilen, reboot atabilen ve sistemi kapatabilen bir boot manager ayarlamak için syslinux.cfg’nin yanısıra vesamenu.c32, reboot.c32, poweroff.com ve chain.c32 dosyalarını da /boot/syslinux/ dizini altına atın:
cp /usr/lib/syslinux/{vesamenu.c32,reboot.c32,poweroff.com,chain.c32} /boot/syslinux/
chain.c32, isminden de tahmin edebileceğiniz gibi chainload işlemini gerçekleştirip, Windows veya diskteki alternatif bir boot manager’ı çalıştırmanızı sağlar. splash.png dosyasına da buradan ulaşabilirsiniz.
Tercihinize göre renkleri ve splash.png’yi değiştirebilirsiniz. Seçim size kalmış
. Yeri gelmişken örnekte windows olmadığı için Windows’u nasıl eklerim sorusuna da cevap verelim:
LABEL windows
MENU LABEL Windows
COM32 chain.c32
APPEND hd0 0
Windows’un /dev/sda1 bölümünde kurulu olduğu bir sistem için yukarıdaki örneği kullanabilirsiniz. Tıpkı GRUB legacy gibi, syslinux da saymaya sıfırdan başlar, ona göre Windows kurulu olan bölümünüzü düzenleyebilir, değiştirebilirsiniz. Burada dikkat etmeniz gereken tek şey, chain.c32′nin mutlaka ama mutlaka /boot/syslinux/ dizininde olması gerektiğidir.
Arch kurduktan sonra yaptığım ilk işin bootmanager’i değiştirmek olduğuna değinmezsem ölürüm, hıh
.