Tekil Mesaj gösterimi
Alt 24-10-2009, 12:37   #9
Mehmet
 
Mehmet - ait Kullanıcı Resmi (Avatar)
 

Kernel Derlemek :

NOT: Bu döküman Linux İşletim Sistemini yeni kullanmaya başlayan ya da şimdiye kadar çekirdek derlemeye cesaret edemeyenler için yazılmıştır. Eğer Linux İşletim Sisteminde uzmansanız döküman size gereğinden çok 'hafif' gelebilir.

Çekirdek yeni sürümlerini yükleyebileceğiniz site; ftp.kernel.org


1- Çekirdek Derlemenin Ne Faydası Var ?

Yeni çekirdeği derlerken , çekirdekten size uygun olmayan donanım desteğini ( SCSII sürücüleri, USB aygıt desteği vb) ve yazılım desteğinizi ( IPv6, Firewall vb ) kaldırabilir, ya da modül olarak ekleyebilirsiniz. Bu sayede daha küçük ve dolayısıyla hızlı açılan bir çekirdeğe sahip olabilirsiniz. Ayrıca ilerde Linux'la dev sunucu sistemler kurarken neler yapacabileceğinize dair ipuçları elde edebilirsiniz.



2- En Kötü İhtimalle Ne Olur ?

Çekirdeği derlemeden önce konfigurasyon sırasında yapacağınız bir hata sisteminizin açılmamasına sebep olabilir. Sisteminiz açılsa bile bazı donanımlar ve yazılımlar doğru çalışmayabilir. Her şey ters giderse sisteminizi açılış disketinizden açarak LILO' ya eski çekirdeği yükleyerek sisteminizi açabilir ve tekrar deneyebilirsiniz.



3- Başlıyoruz :
Mutlaka bir Linux açılış disketi oluşturun ve sisteminizi bir kez bu disketten açarak test edin. İşler ters giderse bu disket sisteminizi açmanızı sağlayacak. Bir açılış disketi oluşturmak için ;

# mkbootdisk --device /dev/fd0 2.4.16

komutunu kullanabilirsiniz. 2.4.16 sisteminizdeki çekirdek sürüm numarasını açıklamaktadır. Siz bu numarayı kendi sisteminizde yüklü bulunan çekirdek sürüm numarası ile değiştirebilirsiniz.

En yeni ve kararlı Linux Çekirdeğini sisteminize indirin. Bu, muhtemelen sürüm adını taşıyan ve .tar.gz ile biten bir dosya olacak. *.tar.gz ile biten bir dosya tar ile birleştirilmiş ve gzip ile sıkıştırılmış bir dosya demektir. Çekirdeği indireceğiniz yerde *.tar.bz2 ile biten dosyalar da olabilir, bu dosyalar da bzip ile sıkıştırılmıştır. Sıkıştırılmış dosya boyutu yaklaşık 28 MB ' dır.

Dosyayı /home/kullanici/ dizinine indirdiğinizi varsayıyorum.

Last login: Tue May 04 10:29:54 2002 from 52.32.55.8
[silencer@eshan silencer]$

İkinci satırdaki $ işaretine dikkat. Bu bizim 'root' değil bir kullanıcı olarak sisteme giriş yaptığımızı gösteriyor. Şimdi 'root olma zamanı. 'su' komutu ile 'root' oluyoruz

[silencer@eshan silencer]$ su
Password:
[root@eshan silencer]#

$ işareti # 'e dönüştü, artık root'uz. Kendi ev dizinimize indirdiğimiz çekirdeği açmadan önce ilgili yerine taşıyoruz.

[root@eshan silencer]# mv /home/silencer/linux-2.4.17.tar.gz /usr/src/

Eski çekirdeğin sembolik bağlantısını siliyoruz

[root@eshan silencer]# rm /usr/src/linux

Çekirdek kaynak kodunu açıyoruz

[root@eshan silencer]# cd /usr/src/
[root@eshan silencer]# tar -zxvf linux-2.4.17.tar.gz

/usr/src dizini altında çekirdek sürüm numarası ile yeni bir dizin oluştu. Bu dizinin adını değiştiriyoruz

[root@eshan silencer]# mv linux linux-2.4.17

Biraz önce sildiğimiz sembolik bağlantıyı yeni çekirdek için yeniden kuruyoruz

[root@eshan silencer]# ln -s /usr/src/linux-2.4.17 linux

Şimdi geldik işin en zor kısmına. Çekirdeği kaynak kodundan derlemeye başlıyoruz. Konsoldaysanız

make menuconfig

X ortamındaysanız

make xconfig

komutunu vererek çekirdek derleme menüsünü hazırlayın.

Şu andan itibaren yapacaklarınız çok önemli. Çekirdeği hiç hatasız derleyebilmek için son derece dikkatli olmalı ve herhangi bir soruya 'Yes' ya da 'OK' komtunu vermeden önce mutlaka okumalısınız.

Çekirdeğe eklemek istediklerinizi menüden ekleyebilir, istediklerinizi çıkarabilir ya da modül olarak eklenmesini sağlayabilirsiniz. Modül olarak yaptığınız ekler çağrıldığı zaman çalışacaktır. Bu menü Linux' u öğrenmek için bulabileceğiniz en değerli kaynaktır. Bütün seçenekleri tek tek okumanızı tavsiye ederim. Şu anda Linux' un ruhuyla yüzyüze konuşma şansını yakaladınız, keyfini çıkarın.

Seçenekleri belirledikten sonra 'Save' ve 'Exit' komutlarını verin. Yaptığınız değişiklikler bir metin dosyasında saklanır ve çekirdeğin derlenmesi sırasında okunur.

Sırasıyla

[root@eshan silencer]# make dep

[root@eshan silencer]# make clean

[root@eshan silencer]# make bzImage

komutlarını verin. Eğer çekirdeğe modül olarak birşeyler eklediyseniz ayrıca

[root@eshan silencer]# make modules

[root@eshan silencer]# make modules_install

komutlarını da çalıştırmanız gerekiyor.

Çekirdeği derledik. Şimdi onu uygun bir yere taşımalıyız. Lütfen dikkat, burası son derece ÖNEMLİ.

[root@eshan silencer]#cp /usr/src/linux/arch/i386/boot/bzImage /boot/linux-2.4.17

Şimdi de System.map dosyasını gerekli yere taşıyalım

[root@eshan silencer]# cp /usr/src/linux-2.4.17/System.map /boot/System.map-2.4.17

Değiştirmemiz gereken birkaç sembolik bağlantı daha var. /boot dizinine geçin

[root@eshan silencer]# cd /boot

[root@eshan silencer]# rm /boot/vmlinux

[root@eshan silencer]# rm /boot/System.map

[root@eshan silencer]# ln -s /boot/System.map-2.4.17 /boot/System.map

[root@eshan silencer]# ln -s /boot/vmlinux-2.4.17 /boot/vmlinux

Az kaldı ha gayret. Şimdi LILO' ya yeni çekirdeğimizin yerini göstermeliyiz. /etc/lilo.conf dosyasını dilediğiniz bir metin editörü ile açın.

[root@eshan silencer]# pico /etc/lilo.conf

lilo.conf' un eski hali şuna benziyor olmalı :

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=linux

image=/boot/vmlinuz-2.2.13
label=linux
root=/dev/hda5
read-only

Sizin kendi sisteminize uygun yapacağınız olarak yapacağınız değişiklik sonrası lilo.conf aşağıdakine benzer olacaktır :

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=linux-yeni

image=/boot/vmlinuz-2.4.17
label=linux-yeni
root=/dev/hda5
read-only

image=/boot/vmlinuz-2.2.15
label=linux-eski
root=/dev/hda5
read-only

Gördüğünüz gibi yeni çekirdeği önseçimli hale getirdik ve ona linux-yeni etiketini verdik.

LILO' yu yeniden yüklüyoruz.

[root@eshan silencer]# /sbin/lilo

LILO' yu yeniden çalıştırınca aşağıdaki mesajı almanız gerekli

Added linux-yeni *
Added linux-eski

Yanında * işareti bulunan çekirdek önseçimlidir ve açılışta bir çekirdek seçmezseniz bu çekirdek yüklenecektir.

Bilgisayarınızı yeniden başlatın

[root@eshan silencer]# shutdown -hfr now

Sisteminiz yeniden açıldığında yeni derlediğiniz çekirdekle çalışacaktır.

Sisteminiz yeni çekirdekle açılmazsa açılış sırasında linux-eski çekirdeğini seçmeyi deneyin. Yine de bir hata ila karşılalırsanız sisteminizi daha önceden oluşturduğunuz açılış disketinden açarak çekirdeği yeniden derleyin.
__________________
Besiktasforum.NET

KayıpKentinYakışıklısı.
Mehmet Ofline   Alıntı ile Cevapla