Gece gece uyku tutmadı(saat sabaha karşı 4) Düşündümde yeni bir çekirdek derleme yazısına ihtiyaç var…
Gercekten özel bir sebep yoksa dağıtımın kernelini kenara bırakıp kendi başına vanillayı(saf linux çekirdeği) derleyip kurmak son derece gereksiz, anlamsız, vakit kaybı ve hatta tehlikeli bir aktivite… Fakat bir Linux ögrencisi olduğunuzu farz ediyorum ve yazıyorum. Hem bu yönetemle yamalı Pardus çekirdeğini de derleyebilirsiniz.
Saçmaladığım noktalar olabilir uyanınca tekrar okurum
Çekirdek Nedir?
Çekirdek bir işletim sistemin kalbidir. Kabaca, kullanıcı seviyesindeki yazılımlarla donanım arasındaki köprü vazifesini görür. Yaygın inanışın aksine Linux bir işletim sistemi değil bir işletim sistemi çekirdeği projesidir. Dağıtım denilen şey teorik anlamda başlı başına bir işletim sistemidir. Fakat günlük kullanımda işletim sisteminin adı Linux olmuştur. Linux çekirdeği 1991 yılında Finlandiyalı bir üniversite öğrencisi olan Linux Torvalds tarafından geliştirilmeye başlandı ve bugün dünyadaki en büyük özgür yazılım projesi.
Başlıyoruz
Öncelikle şunu belirtelim; Linux çekirdeğini derlemek buradan okuduğunuz kadar basit bir işlem olmayacaktır. Çünkü yaptığınız işin bir kıymeti olması için çekirdeği kendiniz ayarlamalısınız. Eğer bunu yapamazsanız ve sadece yeni bir sürüme geçmek istiyorsanız Pardus’un config dosyasını kullanabilirsiniz. Ben olsam Pardus’un yamalı kernel kodlarını indirir ve doğrudan derleme kısmına atlardım. Eğer vanilla derlemek isterseniz işe çekirdeğin kodlarını edinmekle başlıyoruz.
Eğer http://www.kernel.org Linux çekirdek arşivinden tarball olarak indirdiyseniz öncelikle yerine kopyalayıp sembolik bağ oluşturmamız gerekiyor. ”Çekirdeği indirdiğiniz dizinde” şu komutu verin. ”Linux-2.6.25” çekirdeğini kullandığınızı farzediyorum.
tar -xjvf linux-2.6.25.tar.bz2 -C /usr/src && ln -sfn linux-2.6.25 linux
Ardından
cd /usr/src/linux
Bu aşamada çekirdeği yamalamak isterseniz şu komutlar kullanmanız gerek. (/usr/src/linux dizini altında olmanız şart)
patch -p1 < patch_dosyasi.patch
Bu işlemin süresi yamanın büyüklüğüne göre değişir. Eğer linux klasörü altında .rej uzantılı dosyalar varsa devam ediyordur. Eğer bu yamayı kaldırmak isterseniz şu komutu verin.
patch -p1 -R < yama_dosyasi.patch
Şimdi şu komutu verin,
make menuconfig
İşte bütün mesele burada… Bu komut ile çekirdeği ayarlayabileceğiniz bir menüler bütünü açılacak. Bundan sonrası tamamen sizin becerinize, kullandığınız PC’yi tanımanıza ve GNU/Linux bilginize bağlı. Burada yapacağınız hatalar bu çekirdeğin çalışmamasına, sistemin yeteneklerinin kısıtlanmasına ve bazı donanımlarınızın çalışmamasına neden olabilir. Tabii bu durum sadece bu çekirdek için geçerli. Sistemi başka bir çekirdekle başlattığınızda herşey normale dönenecektir.
Vanilla çekirdek derleyenler
Eğer bu şartları sağlayamıyorsanız(linuxu bilmek olarak özetlenebilir) Pardus’un /boot dizini altında bulunan .config dosyasını(gizlidir) /usr/src/linux dizinine taşıyın ve make menuconfig komutunu boşuna uygulamayın…
Derleme işlemi(dağıtımlarının kodlarını kullananlar buraya)
Tüm bu adımları sorunsuz geçtiyseniz çekirdeğimizi derleyebiliriz. Şu komutla devam ediyoruz.
make && make modules_install
Bilgisayarınızın gücüne bağlı olarak değişecek derleme süresince bekledikten ve günlük PC yaşantınıza devam ettikten sonra şu komutu vererek yeni çekirdeği /boot dizinine gönderiyoruz.
Kurulum
cp arch/i386/boot/bzImage /boot/linux-2.6.25-ozel
Tüm bu işlemlerin ardından sıra GRUB ayarlarına geliyor. Yeni çekirdeği GRUB’a eklemeliyiz.
Grub ayarları
title=Linux 2.6.25-ozel
root (hd0,0)
kernel /boot/kernel-2.6.25-ozel root=/dev/sda1
Yukarıda bir Grub girdisi örneği verdim. Bunu kendize göre düzenleyerek menu.lst dosyasını kaydedin. Dikkatinizi çektimi bilmem ama initrd satırını kullanmadım. Bunun anlamı şu; bootsplash kullanmayacağız… Eğer kullanmak isterseniz sorabilirsiniz fakat bootsplash yazımızın konusu değil.
Mutlu son
Şimdi sıra bilgisayarı yeniden başlatmakta. Sisteme yeni çekirdekle giriş yapın. INIT’e kadar olan süreci kazasız belasız atlatırsanız muhtemelen X’in açıldığı aşamada takılacaksınız. Çünkü kullandığınız kapalı kaynak kodlu ekran kartı sürücüleri yeni çekirdeğe göre derlenmedi ve artık çalışmıyorlar. Bu sorunu /etc/X11/xorg.conf dosyasında açık kaynak kodlu sürücüleri etkinleştirerek aşabilirsiniz. Grafik ortama giriş yaptıktan sonra ekran kartı sürücülerini elle kurmaktan başka bir çözüm öneremiyorum şu an… Aynı durum çekirdekle birlikte derlenmeyen ticari donanım modülleri içinde geçerli.
Kolay gelsin
mm
Etiketler: Genel Linux yazıları
Haziran 11, 2008, 7:58 pm üzerinde
Komutun doğru şekli (2.6 çekirdekler için)
make && make modules_install && make install
Haziran 11, 2008, 8:11 pm üzerinde
Selam Tom
Ben şu şekilde kullanıyorum işe yarıyor.
make && make modules_install
Senin eklediğin make install kısmı tam olarak ne iş yapıyor?
Haziran 11, 2008, 8:42 pm üzerinde
2.6 serisi çekirdekler için sırasıyla :
make : make menuconfig veya make xcongig komutu vasıtasıyla yapılandırdığımız çekirdeği, modülleri ile birlikte derler yani makine diline çevirir.
make modules_install : Çekirdek yapılandırması esnasında yani Çekirdek Modülü olarak işaretlediğimiz modülleri /lib/modules/2.6.****** dizini içine yükler.
make install : vmlinuz çekirdek imajını, System.map ve çekirdek yapılandırma dosyası olan config dosyasını /boot dizini içine yükler ve 3.5 luk flopy diskete önyükleyici kurmak isteyip istemediğimizi sorar.
Haziran 12, 2008, 9:06 am üzerinde
Teşekkürler Tom Pompadil…
Haziran 24, 2008, 2:19 pm üzerinde
İlerde bende böyle olacağım
bakalım. Yazın için teşekkürler Kpss den sonra deneyeceğim bakalım öğrencin becerebilcekmi senin yazdıklarını uygulamayı 
Haziran 29, 2008, 7:34 am üzerinde
Ben neyim ki sen de böyle olacaksın? Sıradan bir Linux kullanıcısıyım ben… Buradaki püf nokta kernel ayarları ama hazır olarak alırsan sadece komut vermeye bakar bu iş…