KaCaK Site Yöneticisi
Mesaj Sayısı : 476 Yaş : 31 Nerden : Sivasspor Kayıt tarihi : 04/06/07
| Konu: Linux çekirdeğini derlemek.. 1. seri Çarş. Haz. 13, 2007 8:25 pm | |
| Neden yeni bir çekirdeği derleyip yüklemek isteyesiniz ki? Olası nedenler şunlar olabilir: Yeni çekirdek, bilgisayar donanımlarını daha iyi desteklemektedir. Yeni çekirdek (2.4.x), daha iyi çoklu işlemci (SMP) ve daha iyi USB desteği gibi çeşitli yararlar sunmaktadır. Yeni çekirdekte eski hatalar(bugs) yer almamaktadır. Kendi derlemiş olduğunuz çekirdekte birçok özellik yeralmadığı için hem daha hızlı hem de daha sağlamdır. Kendi çekirdeğinizi derlemek ve kullanmak oldukça fazla bilgisayar bilgisi gerektirmekte olması sorun yaratmaktadır. Bu yüzden Linux'a yeni başlayan bir kullanıcı kolay kolay çekirdek derlemeye yanaşmayacaktır. Bu yazıda 'make xconfig' komutuyla çekirdeği yapılandırma sırasında alınmış ekran görüntülerine de yer verilmektedir. Bu komut sayesinde, kullanıcı grafik arayüzü ve farenin kullanımı ile çekirdeği yapılandırmaktadır. Yaklaşık 40 ekran görüntüsü, belli bazı durumlarda neleri seçerseniz veya seçmezseniz daha iyi olacağını açıkça anlatmaktadır. 40 adet ekran görüntüsü burada açıklıyor olmak biraz fazla gözükebilir, ancak bunların sayesinde çekirdeğin aslında nasıl işlediğini ve çeşitli seçeneklerin neden seçildiğini daha iyi öğreneceksiniz. Ekran görüntüleri 2.4.6 sürüm numaralı çekirdek yapılandırmasından alınmıştır. En yeni çekirdeğin sürüm numarası 2.4.19'dur, ancak yeni bazı donanım destekleri gibi, menülerde ek olarak yer alan seçeneklerin dışında değişen pek bir şey yoktur. Çekirdeği derleme süreci de aynıdır. Size bir önerim olacak: Bu sayfaların çıktısını yazıcıdan alıni. Böylece, gerekli bilgiye iherzaman erişiminiz olmuş olur! Yazı şu şekilde düzenlenmiştir: İlk önce çekirdeğin İnternet'ten nerelerden elde edilebileceği ve sisteminize nasıl yükleneceği anlatılmaktadır. Ardından, çekirdek yapılandırılması süreci, ekran görüntüleri eşliğinde anlatılmaktadır. Yapılandırma bittiğinde çekirdeğin derlenmesi gerekmektedir, ancak derlendikten sonra bile yeni çekirdek kullanılmaya hazır olmamaktadır. İlk önce, yeni çekirdek açılış yöneticisi olan lilo tarafından yüklenmesi gerekmektedir. Lilo'yu kullanmadan önce de '/etc/lilo.conf' dosyasında değişiklikler yapmanız gerekecek. DOS/Windows disk bölmesinden 'loadlın' programı aracılığı ile çekirdeği kullanmak istiyorsanız, onu o disk bölmesine kopyalamanız gerekecektir. Bunun yanı sıra, dizüstü bilgisayarlardaki PCMCIA desteği ile ilgili bir takım özel noktalar vardır. PCMCIA kartları şişman kredi kartları gibi dizüstü bilgisayarlara takılan ve genellikle bilgisayar ağları desteğini sağlarlar. Linux çekirdeği ilk defa 2.4.x sürümlerinden başlayarak PCMCIA desteği sağlamaya başlamıştır. Daha önceleri bu destek ayrı derlenen ve yüklenen programlar aracılığı ile sağlanmaktaydı. SuSE Linux'un başka bir sorunu vardır, o da ses desteğini ALSA sürücü programları aracılığı ile sağlamasıdır. Bu sürücü programları çekirdeğin bir parçası değildir ve çekirdekten ayrı olarak derlenip yüklenmeleri gerekmektedir, çünkü asıl sürücü programlar artık çalışmamaktadır. Olayları daha da karıştırmak için, bir çekirdek serisinden, sözgelimi 2.2'den 2.4'e geçerken 'modutils' gibi çekirdeğin kullandığı belli bazı araçlar ile ilgili sorunlar yaşanmaktadır. Bu araçlar çekirdeğin modüllerini yüklemek için program bilgileri içermektedir: 3. Resimde bir çekirdek modülünün ne olduğu gösterilmektedir. Bazen yeni çekirdek eski 'modutils' ile ne yapması gerektiğini bilmemektedir. Dolayısıyla sizin yapmanız gereken, modutils'in daha yeni sürümünü bulup yüklemenizdir. Bu gibi sorunlara az rastlanılmaktadır. Tek yapılabilecek şey, bu tür sorunlar hakkında sizleri önceden uyarmaktır. Ancak, bu yazıdaki adımları izlerseniz, yanlış gidecek hemen hemen hiç bir şey omayacaktır. Yeni çekirdek 'lilo'ya eklenmekte veya 'loadlin'in olduğu disk bölmesine kopyalanmaktadır. Dolayısıyla, acil durumlarda asıl çekirdeği tekrar kullanma imkanınız her zaman için vardır. Böylece, asıl çekirdeği kullanmakta iken, yenisi ile ilgili sorunları çözme ortamınız her zaman için vardır. Yeni çekirdeğin 'modutils'i ile ilgili sorunlar yaşamanız durumda bile, sisteminizi eski çekirdek ile çalıştırıp, bunları yeniden derleyip yüklemekle sorunları giderme imkanınız herzaman vardır. 'modutils'in tüm yeni sürümleri geriye doğru uyumlu oldukları için, yeni 'modutils'ler eski çekirdekler ile uyumlu çalışacaklardır. Çekirdek kaynak kodunun yüklenmesi Burada yapacağınız herşey root erişim haklarını gerektirmektedir. Bunun için root olarak sisteme girmekle başlayabilirsiniz. İlk olarak yükleme CD'sinden çekirdek kaynak dosyalarını yüklemeniz gerekecektir. SuSE Linux dağıtımında bunlar 'd' dizininde 'lx_kernel' paket adı altında bulunmaktadır. Linux dağıtımı ile birlikte gelen kaynak programlarını yüklenmesi önerilen bir davranıştır. Çünkü bunlar ile birlikte çeşitli grafik arayüzleri de yüklenmektir. Bunlar yüklendikten sonra 'linux-2.4.6.tar.bz2' adındaki dosya (http://www.kernel.org/pub/linux/kernel/v2.4/) adresinden indirilip yüklenebilir. Buna karşılık gelen modutils araçlarını http://www.kernel.org/pub/linux/util...modutils/v2.4/ adresinden indirebilirsiniz. 'modutils' ile çekirdeğin sürüm numaraları aynı olması gerekmemektedir. En son sürümünü indirmeniz yeterlidir. Modutils'in derlenip yüklenmesi "modutils'in kullanılması" kısmında anlatacağız. İlk önce çekirdeği halledelim. Şu anda bilgisayarınızda bulunan çekirdek kaynak kodu '/usr/src/linux/' dizininde yeralmaktadır. Bu kaynak kodu kaybetmemek akıllıca olur. Bunun için dizinin adını aşağıdaki gibi değiştirebilirsiniz: cd /usr/src mv linux linux-2.2.19 (Eğer asıl kaynak kodun sürüm numarası 2.2.19 ise). Asıl çekirdeğinizin kaynak kodunu sağlama aldıktan sonra, yeni çekirdeği içeren linux-2.4.6.tar.bz2 paketini açmalısınız. Açtıktan sonra göreceksiniz ki, benimsenmiş değer olarak paket 'linux' dizini altında açılmaktadır. Eğer, bu ad altında bir dizin varsa, üzerine yazılmaktadır. Böylece, asıl çekirdeğinizi, yapılandırım dosyasını vs. kaybetmiş olursunuz. Bu örnekte, yeni oluşan 'linux' dizinini hemen 'linux-2.4.6' olarak değiştirip, 'linux' adında bir sembolik bağlantı oluşturmaktayım. Bu yöntemin getirisi, sistemin kullanılmakta olduğu çekirdek sürümünü hemen görebilmenizdir. Ayrıca, güncel bir çekirdek yükleme işlemi de kolaylaşmaktadır. Bunun için aşağıdaki komutları root kullanıcısı olarak çalıştırmanız yeterlidir: cd /usr/src cp ~/linux-2.4.6.tar.bz2 ( paketin ev('~') dizininizde açıldığını kabul edersek) bzip2 -d linux-2.4.6.tar.bz2 (bu biraz sürebilir) tar -xvf linux-2.4.6.tar mv linux linux-2.4.6 ln -s /usr/src/linux-2.4.6 /usr/src/linux Bu işlem tamamlandığında, çekirdeğinizin bulunduğu dizine geçerek: cd /usr/src/linux make xconfig (1. Resme bakınız) 1. Resim:'make xconfig' komutundan sonra ekrana gelen görüntü. Çekirdeğinizi burada yapılandırabilirsiniz. Bu, çekirdeğinizi yapılandırmada kullanılan ana seçenek menüsüdür. Çeşitli seçenekler üzerinde değişiklikler yaparak'Save(Kaydet) ve Exit(Çık)' tuşuna basarak, yaptığınız değişiklikleri diskinize kaydetmiş olursunuz. Bu aşamadan sonra çekirdeğinizi derleyip yükleyebilirsiniz (40. resme bakınız). Ancak, biz o aşamaya henüz gelmiş değiliz. Çekirdeğin yapılandırılması Aşağıdaki resimlerde, benim yapmış olduğum seçimlerle birlikte çeşitli yapılandırma ekran görüntüleri göreceksiniz. Her resim ile birlikte seçimlerin seçilme nedenleri de yeralmaktadır. Açıklama metinlerini dikkatli oku****** seçimleriminin nedenlerini ve sizin hangi seçimlerde bulunmanız gerektiğini anlayacaksınız. 'Help' tuşuna basarak benim vermiş olduğum bilgilerin benzerlerine ulaşabilirsiniz. 'make xconfig' komutunu kendi Linux sisteminizde çalıştırıp 'Help' tuşuna basarsanız, yardım ekranında gelen bilgiler genellikle hangi seçimi yapmanız gerektiğini size söyleyecektir. Doğal olarak yardım bilgileri elinizdeki tüm donım çeşitlerini kapsamayacaktır. Ancak, en azından donanımınızı nasıl ayarlamanız gerektiğini ve donanımızın desteklenip desteklenmediğini öğrenebilmek için çekirdekte nerelere bakmanız gerektiğini açıkça belirtmelidir.. Resim:'code maturity level options' seçimleri.Bu bölümde çekirdeğin henüz deneme aşamasında olan özelliklerin kullanılmasına olanak sağlamaktadır. Özellikle yeni donanımların desteklenmesi sözkonusu olduğunda bu gereklidir. Ancak, birçok durumda bu seçimi işaretlemezsiniz, yoksa sonunda sağlamlığı daha az olan bir çekirdek oluşturulmuş olunur. 1. Resim'de gri renkli olup, seçilmemiş olan 'IEEE 1394 (FireWire) support' ve 'Bluetooth support' seçenekleri gözükmektedir. Şu anki yapılandırma ile bunları seçemiyorsunuz, çünkü bunlar henüz deney aşamasındadır. 3. Resim: Yüklenebilir modül desteği. Bundan sonra ekran görüntüleri bağlantı olarak verilecektir. Eğer, görmek isterseniz bağlantını üzerine tıklayarak yeni bir pencere açabilirsiniz. Modüller, çekirdekle kullanılabilen program parçacıklarıdır. Örnek olarak sürücü programları gösterilebilir. Bunlar çekirdekten ayrı olarak derlenip, çekirdeğe bağlanabilirler. Ancak, derleme işlemini çekirdeğin derlenişi sırasında yapmak en iyisidir. Her ne kadar bu program modülleri çekirdeğin parçası olmasalar da, gerek duyulduğunda çekirdek tarafından yüklenebilir ve böylece kullanımınıza sunulabilirler. Yaygın olarak önerilen, bir seçenek modül olarak da kullanılabiliniyorsa, onu modül olarak derlemektir. Böylece, hem küçük hem de daha sağlam bir çekirdek elde edilmektedir. Bizim uyarımız : Dosya sistemi desteğini hiçbir zaman modül olarak derlemeyi (32. Resm'e bakınız.). Eğer, bu hataya düşüp dosya sistemi desteğini modül olarak derlerseniz, elde edeceğiniz çekirdek kendi dosya sistemini kullanamaz duruma gelecektir. Hatta çekirdek kendi yapılandırım dosyalarını bile yükleyemeyecektir ki bu bir Linux sistemini başlatmanın ön şartıdır. Benim modülleri pek kullanmadığımı ileride fark edeceksiniz. Kendi çekirdeğimin, modüller yüklemeden donanımlar ile doğrudan haberleşmesi daha hoşuma gitmektedir. Bu sonuçta benim kişisel seçimimdir.4. Resim: İşlemci ve işlemci özellikleri seçimi Burada sahip olduğunuz işlemci tipini ve çeşitli özelliklerini seçiyorsunuz. Genel olarak '/dev/cpu' seçenekleri ileri seviye bilgi gerektirmektedir, o yüzden sıradan kullanıcılar tarafından seçilmemeleri gerekiyor. Fazla bellek desteği ('High Memory Support') bilgisayarınızda 1 GB'tan fazla bellek varsa gündeme gelmektedir. Genelde bilgisayarlarda 64 ile 512 MB bellek ile 8 ile 60 GB disk alanı bulunmaktadır. Bundan dolayı fazla bellek desteği ('High Memory Support') seçilmemiş olarak gelmektedir. Eğer, eski 486SX üzerinde çalışan 386 sistemine sahipseniz 'Math Emulation' seçeneğini işaretlemeniz gerekecektir. Bu eski sistemler Linux'un gereksinim duyduğu matematiksel işlemcisini içermemektedir. Yeni işlemcilerin hepsi kendi içinde sanal olarak böyle bir işlemciyi içermektedir. Dolayısıyla bu seçeneği genelde işaretlemeniz gerekmeyecektir. 'MTRR' seçeneği, PCI veya AGP veri yolları için daha hızlı haberleşme sağlamak içindir. Günümüz bilgisayarların çoğunda ekran kartı PCI veya AGP veri yoluna bağlı olduklarından, 'MTRR'yi seçebilirsiniz. Ekran kartı için PCI veya AGP veri yoluna sahip olmasanız bile bu seçeniği işaretlemenizin bir sakıncası yoktur. Bakışımlı (Simetrik) işlemci desteği (Symmetric multi-processing=SMP) ana kartınızda birden fazla işlemci olması durumunda seçilmelidir. Sözgelimi iki Pentium II işlemcili biligisayarlarda seçilebilir. SMP desteği çekirdeğin her işlemciyi en iyi şekilde kullanmasını sağlamaktadır. Genelde seçilmemiş olan APIC seçeneği de birden fazla işlemcili sistemler içindir | |
|