Çekirdek derleme (uçbirim üzerinden)

Ubuntu Türkiye Wiki sitesinden
19.37, 4 Mayıs 2010 tarihinde Hitokiri (mesaj | katkılar) tarafından oluşturulmuş 7194 numaralı sürüm (Sayfa oluşturdu, içeriği: '==Ubuntu'da Çekirdek (Kernel) Derleme == {{mavi|KONSOLDAN ÇEKİRDEK KURULUMU}} Derleme için gerekli paketleri kuruyoruz. {{Kod| |sudo apt-get install build…')
(fark) ← Önceki sürüm | Güncel sürüm (fark) | Sonraki sürüm → (fark)
Gezinti kısmına atla Arama kısmına atla

Ubuntu'da Çekirdek (Kernel) Derleme

KONSOLDAN ÇEKİRDEK KURULUMU


Derleme için gerekli paketleri kuruyoruz.


sudo apt-get install build-essential bin86  kernel-package libqt3-headers libqt3-mt-dev wget libncurses5  libncurses5-dev


Derleme işlemini gerçekleştireceğimiz dizine geçiyoruz


cd /usr/src 


Yapacağımız işlemler için root yetkilerine ihtiyacımız olacak. Root yetkilerini alıyoruz.


sudo -s


www.kernel.org adresinden en son "stable" sürümüne bakıyoruz. Ben bu yazıyı oluştururken 2.6.33.3 sürümü vardı. Ben anlatımı bu çekirdek sürümü için yapacağım. Şimdi bu çekirdeği indiriyoruz.


wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.3.tar.bz2


linux-2.6.33.3.tar.bz2 isimli indirdiğimiz çekirdeği arşivden çıkartıyoruz


tar xjvf linux-2.6.33.tar.bz2


Kerneli açtığımız dizine geçiyoruz


cd linux-2.6.33.3


Eski ayarları temizliyoruz


make mrproper


Konfigürasyon menüsüne geçiyoruz. Burada sisteminizin ihtiyaçlarınıza göre gerekli modülleri ekleyip çıkartabilirsiniz. Bu adımda çok dikkatli olmanızı öneriyorum. Herşeyi kernel çekirdeğine dahil ederseniz çekirdek şişer ve sistem açılışı gecikir. Derleme süresi uzar. Bazı durumlarda hata vermesi muhtemeldir. "*" Simgesi kernel çekirdeğine dahil edilecek öğeleri işaret ediyor. "M" harfi özelliğin modül olarak derlenmesi gerektiğini belirtiyor. "------>" Ana kategori olduğuna işaret ediyor. Enter tuşuna basarak alt bölümlere geçebiliriz. İşlemimizi bitirdikten sonra klavyeden yön tuşlarını kullanarak exit üzerine gelip entere basıp yaptığımız değişiklikleri yapılandırma dosyasına kaydediyoruz.


make menuconfig

4e2376a0.png


Modüllerin bağımlılıklarını ve gerekli olan dosyaların yerinde olup olmadığını kontrol ediyoruz


make dep


Yapılandırma dosyasında kullanılmayan fazlalıkları temizliyoruz


make clean


Çekirdek imajını derliyoruz.


make bzImage


Modülleri derliyoruz.


make modules


Çekirdek Modülü olarak işaretlediğimiz modülleri /lib/modules dizini içine yüklüyoruz


make modules_install


Kök dosya sisteminin bağlanabilmesi için gerekli çekirdek modülleri, Kök dosya sisteminde bulunan; ancak bu DS bağlanmadan önce yüklenmesi gereken modüller için initrd isimli paketimizi oluşturuyoruz.


mkinitramfs 2.6.33.3 -o /boot/initrd.img-2.6.33.3-generic


Çekirdek imajını /boot dizinine kopyalıyoruz


cp /usr/src/linux-2.6.33.3/arch/i386/boot/bzImage /boot/vmlinuz-2.6.33.3-generic


System.map dosyasını /boot dizinine kopyalıyoruz


cp System.map /boot/System.map-KERNEL_VERSION


Sembolik bağ oluşturuyoruz.


ln -s /boot/System.map-KERNEL_VERSION /boot/System.map


/usr/src dizine geçiyoruz


cd ..


www.kernel.org adresinden indirdiğimiz linux-2.6.33.3.tar.bz2 arşivini siliyoruz.


rm linux-2.6.33.3.tar.bz2


Buraya kadar sorunsuz işlemleri gerçekleştirdiyseniz derlediğimiz çekirdeği kullanmak için grub/grub2'e eklememiz gerekiyor.

Grub için /boot/grub/menu.lst Grub2 için /boot/grub/grub.cfg dosyalarını kullanacaksınız. Grub versiyonunu öğrenmek için aşağıdaki komutu kullanabilirsiniz.


dpkg -l