27 Ocak 2014 Pazartesi

Linux Çekirdeği Derlemek

Merhabalar, bu yazımda kısaca bilgisayar açılırken neler olduğundan ve linux çekirdeğinin nasıl derlendiğinden bahsedeceğim.

Bilgisayar açılırken işletim sisteminin; sabit disk, CD-Rom, disket sürücü, USB bellek, ağ kartı gibi cihazları tanıması gerekir. Bilgisayarlarının çoğunda bu disk bağlama işini BIOS yapıyor. BIOS(Basic Input-Output System) bir yonga üzerinde ROM şeklinde yer alan bir yazılımdır.

İlk olarak Bios, çekirdeği ve /dev/initrd'nin içeriğini belleğe yükler. Çekirdek çalışmaya başlayınca /dev/initrd'nin içeriğini /dev/ram0 altına kopyalayıp, /dev/initrd tarafından kullanılan belleği serbest bırakır. 

Başlangıç kök dosya sistemi (/dev/ram0) üzerinde /sbin/init çağrısı (açılış çağrısı) yapılır ve diski bağlanmış olur ve kullandığımız işletim sisteminin arayüzüyle karşılaşırız.

Görüldüğü gibi çekirdek, bilgisayar üzerinde önemli görevleri olan temel bir elemandır. 

1) Yapmamız gereken ilk iş bir kernel sürümü indirmek. (buradan indirebilirsiniz ya da konsoldan "wget link" komutu ile kernel sürümü çekebilirsiniz.) (Kendi kernel sürümünüzü de "uname -r" komutu ile öğrenebilirsiniz.) Ben son stable sürümü indirdim.(3.13)

2) İndirdiğimiz sürümü /usr/src dizini altında "#unxz linux-3.13.tar.xz" ve "#tar xfv linux-3.13.tar" ile açalım ve açılan bu dosyanın içine girelim ("cd linux-3.13")

3) "#make menuconfig" komutunu verelim. Karşımıza aşağıdaki gibi bir ekran çıkacaktır. (bu komutu kullanmak için "#apt-get install libncurses5-dev" diyerek paketi kurmalıyız.)


Bu ekrandan çekirdeğe dahil etmek(*), hariç tutmak() ya da modül olarak bağlamak(<M>) istediğimiz uygulamaları seçebiliriz. Fazlasıyla seçim ekranı ve o ekranın da alt ekranları mevcut. Bence burada boş zaman buldukça incelenip öğrenilecek çok şey var. 

"menuconfig" gibi "#make config" komutu da kullanılabilir. Ancak "#make config" komutu text tabanlı olduğu için, bu komut ile menuconfig'de gördüğünüz tüm seçenekleri daha uğraştırıcı şekilde seçmek durumunda kalırsınız. 

Bu seçimlerden sonra .config diye bir yapılandırma dosyası oluşturmuş oluyoruz. Bulunduğunuz dizinde "#ls -a" deyip oluşan yapılandırma dosyasının oluştuğunu kontrol edebilirsiniz. "#vim .config" komutu ile baktığınızda ise uzunca bir dosya olduğunu görürsünüz. Bu dosya az önceki seçimleriniz ile oluşturuluyor.

4) "#make-kpkg clean" ve "#make-kpkg kernel_image  kernel_headers --initrd" komutları ile derleme işlemini başlatabilirsiniz.

Derleme bitttiğinde kernel paketi oluşmuş olacak. 

5) "#dpkg -i header image" deyip çekirdeği kurmuş olacağız.

Bilgisayarı yeniden başlatıp derlediğiniz kernel'i seçerek, indirdiğiniz sürümü kullanabilirsiniz. Kontrol etmek için yine konsoldan "uname -r" komutunu verebilirsiniz.

Görüşmek üzere..

 

Hiç yorum yok:

Yorum Gönder