12 Aralık 2006

Debian kernel / çekirdek derleme

Debian testing ya da unstable ile gelen kernel in yeniliği size yetmiyorsa, en güncelinden daha güncel olsun diyorsanız :) kendi çekirdeğinizi kendiniz derleyeceksiniz demektir. Şahsen ben öyle yapıyorum :)

http://www.kernel.org

Oradan istediğiniz çekirdeği seçin ama yanlışlıkla patch ini indirmeyin. Orada bir F harfi var. Ona tıklayıp full source u indirin. Indirdikten sonra arşivi açın. Bilmeyenler için adım adım komutları yazıyorum:

Mesela indirdiğimiz dosyanın adı linux-2.6.19.tar.bz2 olsun. Dosyayı /usr/src nin içine atın şart değil ama source un orda bulunması iyi olur.

cp linux-2.6.19.tar.bz2 /usr/src
cd
/usr/src

bunzip2 linux-2.6.19.tar.bz2
tar -xf linux-2.6.19.tar
cd
linux-2.6.19
make menuconfig

menuconfig i kullanabilmeniz için libncurses5-dev paketinin sisteminizde kurulu olması gerekiyor (apt-get install libncurses5-dev). menuconfig yerine xconfig veya config de kullanabilirsiniz.
Çıkınca .config dosyası oluşturulur. Neyse o dosyayla işiniz olmayacak.

make-kpkg -rev xxx.N kernel_image

xxx yerine bir isim ve N yerine bir sayı girin ben alp.1 yapmıştım. Tabi make-kpkg yi kullanabilmeniz için kernel-package paketinin kurulu olması gerekiyor (apt-get install kernel-package).
Bu adımdan sonra çekirdeğimiz başlıyor derlenmeye. Yaklaşık bir saat alabilir. Derleme sırasında arkanıza yaslanın ve geçen yazıları izleyin :p

Çekirdeğimiz derlendikten sonra bir deb paketi oluşmuş olacak.

cd ..
dpkg --install linux-image-2.6.19-alp1_alp.1_i386.deb

Sizin oluşan deb dosyanızın ismi neyse(benimki yukardaki gibi oldu) kuruyoruz. Çekirdeğimiz /boot a yerleşti ama henüz initramdisk imiz yok sistem açılamaz bu durumda. Bunun için update-initramfs komutuyla yeni çekirdeğimiz için oluşturuyoruz.

update-initramfs -k 2.6.19 -c

-k parametresinden sonra gelen sayı yeni çekirdeğimizin vereceği uname -r çıktısıdır. Ben menuconfig de çekirdeğin sonuna alp1 eklemiştim o yüzden benim komutum şöyle oldu:

update-initramfs -k 2.6.19-alp1 -c

Evet bu komuttan sonra işimiz bitti sayılır. Son olarak boot loader ınızın ayarlarını kontrol edin ki yeni derlediğimiz çekirdek ve yeni initrd imiz açılabilsin restart edince. Grub için genelde /boot/grub/menu.lst dir.

İyi derlemeler :)

Hiç yorum yok: