Eski 04-05-04, 21:42 #1
zebia zebia çevrimdışı
Varsayılan Çekirdek (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
[zebia@eshan zebia]$


İ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

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


$ 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 zebia]# mv /home/zebia/linux-2.4.17.tar.gz /usr/src

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

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

Çekirdek kaynak kodunu açıyoruz

[root@eshan zebia]# cd /usr/src
[root@eshan zebia]# 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 zebia]# mv linux linux-2.4.17

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

[root@eshan zebia]# 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 zebia]# make dep

[root@eshan zebia]# make clean

[root@eshan zebia]# make bzImage


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

[root@eshan zebia]# make modules

[root@eshan zebia]# 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 zebia]#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 zebia]# 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 zebia]# cd /boot

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

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

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

[root@eshan zebia]# 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 zebia]# 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 zebia]# /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 zebia]# 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.

Saygılarımla

Oğuzhan "zebia" ÖZEL
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Cevapla

Bu konunun kısa yolunu aşağıdaki sitelere ekleyebilirsiniz

Konu Araçları

Gönderme Kuralları
Yeni konu açamazsınız
Cevap yazamazsınız
Dosya gönderemezsiniz
Mesajlarınızı düzenleyemezsiniz

BB code is Açık
Smiley Açık
[IMG] kodu Açık
HTML kodu Kapalı



Tüm saatler GMT +3. Şuan saat: 12:05
(Türkiye için artık GMT +3 seçilmelidir.)

 
5651 sayılı yasaya göre forumumuzdaki mesajlardan doğabilecek her türlü sorumluluk yazan kullanıcılara aittir. Şikayet Mailimiz. İçerik, Yer Sağlayıcı Bilgilerimiz.