Bölüm 28. Çekirdek Güncellemeleri

28.1. Yeni çekirdek derlemeye ne zaman ihtiyacım olabilir?

  • Mevcut çekirdeğinizde sizin donanımlarınız için yeterli destek yoktur, yeni sürüm çekirdek bu desteği sağlıyorsa yeni çekirdek derleyebilirsiniz.

  • Debian ile sunulan çekirdekte sizin ihtiyacınız olan bir özellik aktif edilmemiş durumdadır. Veya çekirdeği dışarından bir yama uygulayıp ilave yetenekler/özellikler kazandırmış olabilirsiniz. Bu özelliği aktif etmek için çekirdek derleyebilirsiniz.

  • Mevcut çekirdeği kendinize göre optizasyon etmek istiyor olabilir bu sebeple çekirdek derliyor olabilirsiniz.

  • Yeni çekirdek ile ne tür özellikler gelmiş diye merak edip, yeni çekirdek derleyebilirsiniz.

28.2. Yeni Çekirdeği nasıl kurabilirim

Çekirdek kurulumu için iki farklı yöntem izleyebilirsiniz. Birincisi Debian tarafından saglayan hazır derlenmiş çekirdek imajlarını kullanmak, diğer yöntem ise kendi çekirdeğinizi derlemeniz şeklinde olabilir.

28.3. Çekirdek imajını nasıl kurabilirim

Hazır derlenmiş çekirdek imajını kurabilmek için öncelikle hangi imajı kullanmak istediğinizi seçmeniz gerekir. Bunun için;

apt-cache search kernel-image

şeklinde sources.list dosyanızda tanımladığınız depolardan farklı işlemci türleri için mevcut olan farklı sürümleri görebilirsiniz. Buradan sizin sisteminiz için en uygun olan çekirdek imajını apt-get install kernel-image-* (mesela, apt-get install kernel-image-2.6-686 gibi.) şeklinde indirip kurabilirsiniz. Debian bu imajı indirip kullandığınız önyükleyici yöneticisine (grub,lilo) gerekli ayarları girererek sistemin yeni çekirdek imajı ile açılışı için hazır olmasını sağlar. Siz yinede çekirdek imajını kurduktan sonra kullandığınız önyükleyici yöneticisinin ayarlarını kontrol edip, daha özel hale getirebilirsiniz. Burada dikkat edilmesi gereken en önemli nokta, önyükleyici yöneticisinde initrd imajı ile ilgili ayarlarında uygun şekilde yapılmış olduğuna dikkat etmek olacaktır.

28.4. Çekirdeği nasıl derleyebilirim?

Çekirdek derleme işlemini burada sadece ana hatları ile ele alabiliriz. Bu konuda daha doyurucu bilgi için mutlaka çekirdek-nasıl belgelerine başvurunuz.

Öncelikle çekirdeğin kaynak kodlarına ve derlemek işleminde bize yardımcı olacak olan araçlara ihtiyacımız olacak. Çekirdeği derlemek için gerekli olan araçları kernel-package paketini kurarak temin edebilirsiniz. Bunun yanısıra, libncurses5-dev ve libc6-dev paketlerine de ihtiyacınız olabilir.

Derlemek istediğiniz çekirdek sürümünün kaynak kodunada apt-cache search kernel-source ile göz atıp, uygun olanını yine apt-get install kernel-source-[surum-no] (apt-get install kernel-source-2.6.8 gibi) şeklinde kurabilirsiniz.

Çekirdeğin derlenmesi ve yüklenmesi için gereken işlemleri en kaba haliyle özetleyelim;

apt-get install libc6-dev gcc make libncurses5-dev kernel-package
apt-cache search kernel-source (uygun olanı gelen listeden bulunup indirilecek)
apt-get install kernel-source-[sürümü] (kernel-source-2.6.8 gibi)
cd /usr/src/
tar -jxvf kernel-source-[sürümü].tar.bz2
ln -sf kernel-source-[sürümü] linux ('ln -sf kernel-source-2.6.8 linux' gibi)
cd /usr/src/linux
cp /boot/config-[mevcut_çekirdeğin_sürümü] .config

Yukarıda config-2.4.27-2-386 ile ifade edilen dosya, sizde /boot/ yer içerisinde yer alan ve config ile başlayan dosya. Buradaki ayar dosyası sisteminizde şu an kullandığınız çekirdeğe ait dosya olmalı. Sizde bu config-2.6.8 gibi bir dosya veya daha farklı bir sürüme ait dosya da olabilir. Ardından;

make oldconfig
make menuconfig
make-kpkg clean
make-kpkg kernel-image --initrd
cd ..
dpkg -i kernel-image-[..] (Yeni oluşan çekirdek imaj dosyasının tam ismi)

Kurulumdan sonra kullandığınız önyükleyici yöneticiniz içerisine uygun şekilde kayıt girilmiş olacaktır. Size kalan makineyi yeniden başlatıp kontrol etmek olacaktır. Açılış işleminde sorun yaşarsanız, önyükleyici menüsünden daha önce kullandığınız çekirdeği seçerek açılış işlemini gerçekleştirebilirsiniz. Daha sonrasında yaptığınız işlemleri tekrar kontrol ederek, yeni çekirdeği yeniden derlemeye çalışabilirsiniz.

Daha detaylı bilgi için http://newbiedoc.sourceforge.net/system/kernel-pkg.html adresindeki bilgilere mutlaka göz atınız.

[Not]Not

Yukarıdaki adımlar sırasında size yöneltilecek sorulara öntanımlı değerlerini uygulamak üzere, Enter ile yanıt verebilirsiniz.