Bütünüyle çalışan Linux çekirdeği için derleme, yapılandırma ve yükleme.

ArticleCategory:

Kernel Corner

AuthorImage:

TranslationInfo:[Author and translation history]

original in en Subhasish Ghosh

en to tr Erdal MUTLU

AboutTheAuthor:

Adım Subhasish Ghosh, 20 yaşındayım ve şu anda Hindistan'da yaşıyorum. Bilgisayar Mühendisliği öğrencisiyim, aynı zamanda da Bilgisayar uzmanıyım. Şu anda 6 adet Microsoft Certified Professional (MCP) sertifikasına sahibim Ayrıca Microsoft NT 4.0 sertifikasına da sahibim. Uzun zamandır Linux kullanıyorum, özellikle Red Hat Linux. Şu aralar Red Hat Certified Engineer (RHCE) sertifikası sınavına hazırlanıyorum. İleride ağırlıklı olarak Linux işletim sistemiyle ilgili çalışmayi planlıyorum.

Abstract:

Herkese merhaba. Bu makale özelleştirilmiş (kendi gereksinimlerimize göre ayarlanmış) Red Hat Linux çekirdeğinin nasıl yapılandırılacağını ve yükleneceğini oldukça ayrıntılı bir şekilde ve adım adım anlatmaktadır. Bildiğiniz gibi özelleştirilmiş çekirdeğe çok değişik nedenlerden dolayı gereksinim duyarız. Nedenlerin neler olduğuna burada girmeyeceğim. Ben sadece özelleştirilmiş bir çekirdek nasıl yapılandırılır, derlenir ve yüklenir onları göstereceğim. Buradaki adımlar Linux Red Hat kullanıcılarına yönelik olmasına karşılık, aynı işlemler ufak defek değişikler ile birlikte diğer Linux dağıtımlarında da geçerlidir.

ArticleIllustration:[This is the title picture for your article]

[illustration]

ArticleBody:

Giriş

Burada 27 adımda Linux çekirdeğinin derlenmesi anlatılmaktadır. Aşağıda anlatılan adımları 15.5 GB tıkız tekeri (hard disk), 96 MB RAM, 400 MHz Intel Celeron işlemcili, Red Hat Linux 7.0 Dağıtımı ve çekirdek sürümü : 2.2.16-22 olan bir bilgisayardan ben kendim uyguladım.
Amacımız, aiağıdaki adımların tamamladıktan sonra, çalışır Özelleştirilmiş Çekirdek elde etmek olacaktır. Sözgelimi ben "2.2.16-22ghosh" adında özelleştirilmiş bir çekirdek kullanıyorum, çünkü benim adım Subhasish Ghosh. Özelleştirilmiş çekirdek kullanmanızın başka nedenleri olabilir. Ayrıca, birden fazla çekirdek arasından da seçim yapabilirsiniz. Herneyse, size iyi Linux çekirdek derlemeleri.

Adımlar

1. adım: Sisteme "root" olarak girin.

2. adım: Komut satırından : rpm -q kernel-headers kernel-source make dev86 komutu girin.

3. adım: Eğer, bu RPM'ler yüklü ise, 4. adıma geçin. Yüklü değil ise, Red Hat 7.0 CD'sini mount edip rpm -Uvh komutu yardımıyla bu RPM'leri yükleyin.

4. adım: Çalışan X Pencere Sisteminiz varsa, startx komutunu yazarak pencere sistemine geçin. Henüz X pencere sisteminizi ayarlamadıysanız, ben şahsen ayarlamanızı tavsiye ederim. Oldukça faydalı bir ortamdır. X pencere sistemine girmeksizin make config ve make menuconfig komutlarıyla da işlem yapılabilir. Ben sizin X pencere sisteminizin çalış olduğunu varsayarak devam edeceğim.

5. adım: GNOME ortamına girdiğiniz and bir GNOME terminali açın ve cd /usr/src/linux komutunu girin.

6. adım: /usr/src/linux dizini içerisindeyken make xconfig komutunu çalıştırın.

7. adım: make config'in KGA (Kullanıcı Grafik Arayüzü) sürümü karşınıza gelecektir. Özelleştirilmiş çekirdek için gerekli olan çeşitli seçenekleri buradan ayarlayabilirsiniz.

8. adım: Şimdi var olan seçenekleri oldukları gibi bırakmanızı tavsiye ediyorum.
Sistemle birlikte gelen yapılandırım oldukça zegin ve hemen hemen tüm bilgisayarlarda çalışacak şekilde ayarlanmıştır. Bence diğer adımları öğrenmeden ve bilgisayarınızın donanımlarını "uzman" denilecek seviyeye (O zaman istediğiniz gibi çekirdek ayarları yapar ve oldukça küçük sayılabilecek ve en iyi şekilde ayarlanmış çekirdek yapabilirsiniz.) gelene kadar öğrenmeden önce bunlara girmeye gerek yok. Bilgisayarınızın donanımları hakkında bilgi alabileceğiniz iyi bir yer /proc dizinindeki dosyalardır. Bunlardan bazıları : /proc/pci, /proc/interrupts, /proc/modules vs.

Bir an için bunları bırakalım ve sadece aşağıdaki değişiklikleri yapalım:

1.Processor Type and Features: Burada bilgisayarınızda kullanmakta olduğunuz işlemci tipini seçin. Ben, Processor Family: PPro/686MX, Maximum Physical Memory: 1 GB, Math Emulation: Yes, MTRR: Yes, SMP: Yes. olarak seçtim.

2. Filesystems kısmını açın ve şu seçimleri yapın : DOS FAT fs support: Yes(y), MSDOS fs support: Yes(y), UMSDOS: m, VFAT(Windows 95) support: Yes(y), NTFS filesystem support (read-only): Yes(y), NTFS read-write support(DANGEROUS): No(n). Bunları yaparken diğer kısımlara dokunmadığınızdan emin olun. Gerçi buradaki seçimler sisteminize zarar verecek şeyler değil ve var olan çekirdeğe de zarar vermezler.

3. Ana menüden kaydedip çıkın.

9. adım: /usr/src/linux dizininde ls -al komutunu çalıştırın.

10. adım: "Makefile" adında bir dosya gördüğünüzden eminim. Bu dosya derleme işlemi için çok önemli bir dosyadır. Bunun için cp Makefile Makefile.bak komutunu kullanarak dosyanın yedeğini alın.

11. adım: Şimdi (/usr/src/linux dizininde) vi Makefile komutunu çalıştırın.

12.: EXTRAVERSION ifadesinin yer aldığı satıra gidin. Orada EXTRAVERSION=-22 gibi birşey göreceksiniz. Onu EXTRAVERSION="-22ghosh" olarak değiştirin. Gerçi burada istediğiniz gibi isimlendirme yapabilirsiniz.

13. adım: Dosyayı kayıt ettikten sonra çıkın.

14. adım: Aşağıdaki adımların hepsi /usr/src/linux dizini içerisinden yapılmak zorundadır. make dep clean komutunu çalıştırın.

15. adım: Daha sonra make bzImage modules komutu çalıştırın. Bu işlem biraz uzun sürecektir. Bu arada birşeyle içip derleme işleminin sonuçlanmasını bekleyebilirsiniz. Ben şahsen bu işleri gecenin bir saatinde yaptığım için ufak tefek kestirmeler yapıyorum.

16. adım: Yukarıdaki adım tamamlandıktan sonra "bzImage" dosyasını /usr/src/linux/arch/i386/boot dizininde bulacaksınız. Eğer, dosya yoksa yapılan adımları tekrar gözden geçirmeniz gerekecektir. Ben eminim ki bu dosyayı bulacaksınız ve bu andan itibaren sevinmeye başlayabilirsiniz, çünkü savaşın %75 kazanmış durumdasınız. Eğer, dosya yoksa, derin bir nefes alın ve tekrar deneyin, eminim başaracaksınız.

17. adım: cp ./arch/i386/boot/bzImage /boot/vmlinuz-2.2.16-22ghosh komutunu çalıştırınız.

18. adım: cp System.map /boot/System.map-2.2.16-22ghosh
komutunu çalıştırınız. Şart omlasa da /usr/src/linux/.config yapılandırım dosyasını bir yere yedeklemenizi tavsiye ederim. Daha sonraki çekirdek derlemelerinizde herşeyi baştan yapmaktansa bu dosyaya bakabilirsiniz veya onu kullanabilirsiniz. Grafik ortamında çalışan yapılandırım (make xconfig) ortamı istenilen yapılandırım dosyasını yüklemenize olanak tanımaktadır. Yapılandırım dosyasının yedeğini almak için :
cp /usr/src/linux/.config /boot/Config-2.2.16-22ghosh
komutunu çalıştırın.

19. adım: daha sonra make modules_install komutunu çalıştırın. Özelleştirilmiz dizin altına tüm yeni modüllerin kopyalandığını göreceksiniz.

20. adım: mkinitrd /boot/initrd-2.2.16-22ghosh.img 2.2.16-22ghosh komutunu çalıştırın.

21. adım: vi /etc/lilo.conf komutunu çalıştırdıktan sonra açaşıdakı satırları ekleyin :

image=/boot/vmlinuz-2.2.16-22ghosh

label=GhoshKernel
initrd=/boot/initrd-2.2.16-22ghosh.img
root=/dev/hdc5
read-only

22. adım: Dosyayı kaydedip çıkın. lilo.conf dosyasındaki satırları istediğiniz gibi ayarlayabilirsiniz. Benim sistemimde root dizini /dev/hdc5'de yer almaktadır. Sizin sisteminizdeki yapı nasılsa ona göre ayarlama yapmanız gerekecektir.
df | grep '/$'
komutu root dosya sisteminin nerede olduğunu size söyleyecektir.

23. adım: /sbin/lilo -v komutunu çalıştırın.

24. adım: Ekrana gelen tüm bilgileri dikkatlice okuyun. Hatayla karşılaşmadıysanız işlem tamam demektir. Tebrikler!!!!

25. adım: /sbin/reboot komutunu veya /sbin/shutdown -r now komutunu çalıştırarak sisteminizi yeniden açın.

26. adım: Açılış sırasında Tab tuşuna veya Control+X basın. Ekranda diğer çekirdek seçenekleri ile birlikte "GhoshKernel" seçeneğini de göreceksiniz.

27. adım: GhoshKernel yazarak enter tuşuna basın. Tam çalışan özelleştirilmiş bir çekirdeğin sistemi nasıl açtığını izleyeceksiniz.

Sonuç

Açılış sürecini dikkatlice izleyin. Ekranda hata mesajları olup olmadığını denetleyin. Açılış mesajlarına daha sonra /var/log/messages dosyasından veya dmesg komutu yardımıyla da bakabilirsiniz. Eğer, hata yoksa, yeni çekirdeğiniz sizin donanımızda gayet iyi çalışıyor demektir. Çok güzel!!

Sisteme girdikten sonra uname -a komutunu çalıştırarak 2.2.16-22ghosh ifadesinin yer aldığı ve aynı zamanda derleme tarihi ve saati ile birlikte başka birtakım verileri göreceksiniz. Bu sizin özelleştirilmiş çekirdeğiniz çalıştığını kanıtlamaktadır. İşte bu kadar. Ayrıca, birden fazla çekirdek seçeneği koyup kendinizi hatalara karşı güvence altına alabilirsiniz. Problemler ile karşılaştığınızda veya bana yazmak istediğinizde lütfen auspicious_blessingsindia@hotmail.com adresine yazın. Umarım bu yazı özelleştirilmiş çekirdeğe sahip olmak isteyen herkese yardımcı olmuştur. Kendinize iyi bakın.
Subhasish Ghosh