Linux çekirdeğini derlemek

ArticleCategory: []

KernelCorner

AuthorImage:[]

[Photo of the Author]

TranslationInfo:[Author and translation history]

original in nl Philip de Groot

nl to en Nino R. Pereira

en to tr Erdal Mutlu

AboutTheAuthor:[]

Bu yıl Nijmegen Üniversitesi'inden profesörlük derecemi almayı bekliyorum. Tezimin konusu chemometrics dır. Şu aralar Hollanda'nın Amsterdam kentinde Tıbbi araştırma merkezinde bilgisayar uygulamalı biyoloji alanında çalışmaktayım. Bunların yanı sıra Linux'a yeni başlayanlar için Hollandaca olan sanaldoku yöresini yönetmekteyim. Linux'u çok seviyorum ve sıkça kendi deneyimlerimi başkalarıyla paylaşmak hoşuma gidiyor.

Abstract:[]

Siz de kendi Linux çekirdeğinizi elde edip, yapılandırıp derleyebileceğinizi yakında öğrenmiş olacaksınız.

ArticleIllustration:[]

[illustratie]

ArticleBody:[]

Giriş

Neden yeni bir çekirdeği derleyip yüklemek isteyesiniz ki? Olası nedenler şunlar olabilir: 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/utils/kernel/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)

'make xconfig' komutundan sonra ekrana gelen görüntü. Çekirdeğinizi burada
             yapılandırabilirsiniz.
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 okuyarak, 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.

'code maturity level options' seçimleri.

2. 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.

5. Resim: Genel çekirdek seçenekleri.
Burada çekirdek için bazı genel seçimler yapılmaktadır. Internet kullanmak isteyen herkes ağ desteğini (Networking support) seçmektedir. Linux İnternet ağırlıklı bir sistemdir ve ağ desteği olmadan düzgün çalışmamaktadır. Dahası, ağ işlemleri gibi gözükmeyen birçok işlev de ağ desteğine gereksinim duymaktadır. Ağ desteği olmazsa çekirdeğinizin derlenmeme olasılığı bile vardır. Kısacası, ağ desteğini seçerseniz iyi olur. Günümüz sistemlerin hepsinde PCI veri yolu vardır, o yüzden PCI seçeneğini de işaretlemelisiniz. PCMCIA veri yolu (PCMCIA/CardBus support) desteği gri renkli olarak boyanmıştır, çünkü siz daha öncesinden deney aşamasında bulunan özellikleri kullanmak istemediğinizi belirtmiştiniz (2. Resm'e bakınız.). Eğer, dizüstü bilgisayar kullanıyorsanız, ağ veya modem kartınızı kullanabilmek için PCMCIA/CardBus desteğini seçmeniz gerekecektir. 'System V IPC' desteği programların haberleşmelerinde ve aynılaştırılımasında (syncronization) kullanılmaktadır. 'BSD process accounting' (BSD süreç muhasebesi) sözgelimi, bir süreç sona erdiğindeki hata değerini saklamaktadır. 'Sysctl support' ise, çekirdek seçeneklerini, çekirdeği derlemeye ve sistemi yeniden başlatmaya gerek kalmadan, değiştirmesine olanak sunmaktadır. Bu seçenekler genellikle seçili durumdadır. Günümüz Linux dağıtımlarında, 'kernel core (/proc/kcore/) format' (çekirdek biçimi) 'ELF' (Bu çeşitli sistem kütüphanelerinin ve programarın starndart biçimidir.) dir. 'ELF' artık kullanılmayan 'a.out' biçiminin yerine kullanılmaktadır ve Windows'taki .dll dosyalarıyla benzerlik göstermektedir. Tüm modern Linux uygulamaları ELF biçimini kullanmaktadır, ancak ne yazık ki, bazı eski uygulamalar hala 'a.out' biçimine gereksinim duymaktadır. Sözgelimi, X Pencere sisteminde çalışmakta olan 'Word Perfect 8' ve 'xwp' sadece 'a.out' biçiminde çalışmaktadır. Eğer, bu uygulamalarının sisteminizde çalışmalarını istiyorsanız, çekirdekte 'a.out' desteğini modül olarak seçmelisiniz. Aslında kullanmamakla birlikte, ben şahsen 'MISC' desteğini de seçmekteyim. Bu genelde java, python veya DOS taklitçisi olan DOSEMU kullanıldığında işe yaramaktadır. 5. resimde gözükmeyen, ama seçmiş olduğum Güç Yönetimi desteği (Power Management support) ve Gelişmiş Güç Yönetimi BIOS desteği (Advanced Power Management BIOS support) de var. Bu iki destek, günümüz ATX anakartlarıyla gelen ve Linux'un bilgisayarı otomatik olarak kapatabilmesi için gereklidir. Diğer, güç yönetim destekleri X pencere sisteminiyle çalışmadıkları ve benim de Linux kullanırken X pencere sistemini kullandığımdan, seçili değiller. KDE ve Gnome için seçebileceğiniz kendilerine özgü güç yönetim sistemleri vardır.

6. Resim: Bellek teknolojisi aygıtı yapılandırılması.
Bu desteğe, sözgelimi Linux'un flash kartları okuyabilmesini istediğinizde gereksinim duyacaksınız. Flash kartlar genellikle dijital kameralarda kullanılmaktadır. Bu seçenek sayesinde Linux, flash kartları okuyabilir ve resimleri .jpg olarak diskinize kopyalayabilir. Gerekmedikçe bu desteği vermenize gerek olmadığını düşünüyorum. Baktınız daha sonra böyle bir şeye gereksinim duyuyorsunuz, o zaman bu desteği verebilirsiniz.

7. Resim: Paralel bağlantısının yapılandırılması.
USB teknolojisinden önce paralel bağlantı noktası yazıcı ve tarayıcılarının bilgisayara bağlanmaları için kullanılmaktaydı. Benim yazıcım paralel bağlantısı ile bilgisayara bağlanması gerektiğinden, bu destek bende verilmiş durumdadır. Ancak dikkat edilmesi gereken bir nokta var: Paralel bağlantı noktasının yapılandırılmasıyla 28. resimde yeralan yazdırma yapılandırılması aynı şey değildir.

8. Resim: Tak ve Çalıştır yapılandırılması.
Hemen hemen herkeste 'Tak ve Çalıştır' sistemi vardır ve bu yüzden bu desteğin olması istenmektedir. Bu seçeneği seçmekle, 'Tak ve Çalıştır' aygıtların yapılandırması ve sistemin kullanımına sunması için çekirdeğe olanak sağlamış olursunuz. Bazen de, sistemin BIOS'unda 'Plug & Play OS' seçeneğini seçmiş olmak gerekmektedir. Yoksa Linux (ve Windows da), 'Tak ve Çalıştır' aygıtlarını yapılandıramaz. 'ISA Tak ve Çalıştır desteği' ('ISA Plug & Play support') 'Tak ve Çalıştır' özelliğine sahip, ancak ISA veriyolunu kullanan kartlar için gereklidir. Buna bir örnek AWE64 ses kartıdır. ISA veriyolunun hiçbir zaman 'Tak ve Çalıştır' desteği olmamıştır. Bu da, ona takılı aygıtların yapılandırılmasını zorlaştırmaktadır. 2.4.x çekirdeklerinden önce, ISA aygıtlarını yapılandırabilmek için Linux kullanıcılarının, 'isapnp' (isapnptools paketinde yeralmaktadır. Bu paketle birlikte gelen tüm dosyaları görebilmek için rpm -qil isapnptools komutunu kullanabilirsiniz.) komutunu, sistem açılışlarında kullanmaları gerekmekteydi. 'isapnp', çeşitli kartların kullanmış oldukları tüm bağlantı noktaları ve adreslerini içeren '/etc/isapnp.conf' dosyasını okumaktadır. Eğer, bu dosyadaki bilgiler eksik, yanlış veya 'isapnp' komutu çalıştırılmamış ise, modem, ağ veya ses kartı Linux tarafından erişilememekteydi. ISA Tak ve Çalıştır desteğini seçmekle, isapnp ve /etc/isapnp.conf dosyasına artık gereksinim duymamaktadır. Bunun yerine, yapılandırmalar otomatik olarak algılanmaktadır. SuSE 7.1'de '/etc/isapnp.conf' dosyasınının adını '/etc/isapnp.conf.old' gibi değiştirmek zorunda kalmıştım. Bunu yapmadığımda, hem çekirdek hem de 'isapnp' aynı kaynakları kullanmak istemekteydi. Bunun sonu ise, kötü olmaktaydı. SuSE 7.1 gibi eski Linux dağıtımları, çekirdekte gerekli destekler olduğu halde, sistemin açılışı sırasından otomatik olarak 'isapnp'yi çalıştırmaktadır. Bu sadece eski Linux sistemleri için geçerlidir. Yenilerde, isapnp kullanılmamaktadır.

9. Resim: Blok aygıtların yapılandırılması.
Herkes disket kullanmak isteyeceğinden, ilk seçenek seçili (Ben modül olarak seçtim.) durumdadır. Disket aygıtını kullanmak istediğinizde çekirdek, '/etc/modules.conf' veya '/etc/conf.modules' dosyalarındaki bilgiler doğru olduğunda, ki genelde bu böyledir, otomatik olarak ilgili modülü yüklemektedir. Eğer, 3. resimdeki seçenekleri doğru seçtiyseniz, bununla ilgili kullanıcı olarak bir sorunla karşı karşıya kalmamanız gerekir. Disketteki bilgilere ulaşabilmeniz için, çekirdeğiniz disketin dosya sistemini tanıması gerekir. Dolayısıyla, 32. resimdekileri de uygun seçmeniz gerekir. Diğer seçenekler, paralel bağlantı üzerinden IDE depo aygıtları kullanmak istediğinizde önem kazanmaktadır. Genelde bu seçenekler seçilmemiş durumdadır. Buradaki olası istisnayi loopback aygıt desteği oluşturmaktadır. Linux altında CD'ye yazmadan önce, CD'nin bir görüntüsü (image'ı) oluşturulmaktadır. Bu görüntü içindekileri görebilmek için loopback aygıt desteğine gereksinim vardır. 9. resimde gözükmüyor, ama alttan beşinci seçenek olan bu seçeneği ben modül olarak seçtim.

10. Resim : Çoklu aygıtların yapılandırılması.
Sıradan Linux kullanıcıları Raid veya LVM desteğine gereksinim duymayacaklardır. Raid sayesinde iki veya daha fazla diske aynı bilginin paralel olarak yazılması sağlanmaktadır. Disklerden birinin bozulması durumunda, sistem diğerini kullanarak çalışmaya kesintisiz devam edebilmektedir. LVM ile ise, sisteme yeni bir disk eklediğinizde, ilgili bölmenin büyüklüğü buna göre artırılabilmektedir. Dolayısıyla, yeniden bölmeler oluşturmanız ve çeşitli kopyalama işlemleri yapmanız gerekmemektedir. Yoltanımları da aynı kalmaktadır. Doğal olarak bu çok işe yaramaktadır, ancak sıradan kullanıcılar genellikle bunlara gereksinim duymamaktadır.

11. Resim: Ağ seçeneklerin yapılandırılması.
Eğer, ağ elemanlarıyla çekirdekte ağ protokolü oluşturmadan haberleşmek isterseniz, 'Packet Socket' seçeneğini seçmeniz gerekir. Kısacası, bunu herzaman seçmenizde yarar vardır. Diğer seçeneklerin çoğu seçilmemiş durumda. Onlar daha çok özel durumlarda kullanılmaktadır. SuSE ile birlikte gelen ateş duvarını (firewall) kullandığımdan dolayı 'Ağ paket süzmelemesi (ipchains'i değiştirmektedir)' (Network packet filtering (replaces ipchains)) seçeneğini seçtim. Ateş duvarı düzgün bir şekilde yapılandırıldığında, dışarıdan, sözgelimi İnternet'ten gelen saldırılara karşı sizi korumaktadır. Çekirdek seviyesinde çalışmakta olan ateş duvarının birçok yararı vardır. Ağ yapılandırılmasında geriye kalan seçenekler 12. resim ile birlikte anlatılmaktadır. Ağ bağlantıları kurabilmek için 'Unix domain sockets' seçeneğini işaretlemeniz gerekir. Bu ayrıca, X pencere sistemini kullanmak istediğinizde gerekli olan bir seçenektir. X pencere sistemi UNIX socket'lerini otomatik olarak kullandığından, X pencere sistemini kullanabilmek için bunu seçmeniz şart. TCP/IP ağları ('TCP/IP networking') hem İnternet hem de iç ağlar için gerekli protokolleri içerdiğinden, TCP/IP'yi seçmelisiniz. Belli bir seçeneği seçip seçmemekte ikilem içerisine düşerseniz, yardım metinlerine başvurmanızda yarar vardır. Buna karşın hala kararsız kalırsanız, o desteği vermekte bir sakınca görülmemektedir. İsterseniz, deneme için daha sonraları bu seçeneği iptal edebilirsiniz. Bazı seçenekleri modül olarak derlemeniz de iyi bir düşünce olabilir.

12. Resim: IP Netfilter yapılandırılması (ateş duvarı).
SuSE Linux, ateş duvarının düzgün çalışabilmesi için geriye dönük olarak ipchains desteğine gereksinim duymaktadır. Diğer Linux dağıtıcılarının ateş duvarlarını kullanıyorsanız, gereksinimleri için onların belgelerine bakmanız gerekecektir.

13. Resim: Telefon desteiğinin yapılandırılması.
Bilgisayarınızda sözgelimi İnternet üzerinden telefon görüşmeleri yapmak için gerekli olan bir telefon kartınız varsa, bu seçeneği işaretlemeniz gerekir. Birçok sıradan kullanıcının böyle bir kartı yoktur ve bu desteğe gereksinim duymamaktadır.

14. Resim: ATA, IDE, MFM en RLL desteklerinin yapılandırılması (diskler için olan haberleşme protokolleri).
Sadece SCSI disk sistemleri olanlar hariç, hemen hemen herkesin bu protokol desteğine gereksinimi vardır. Dolayısıyla çoğu kullanıcı bu seçeneği seçmektedir. Seçeneğin hemen ardından gelen satıra tıkladığınızda karşınıza, önemlerinden dolayı aşağıda daha ayrıntılı olarak anlatılacak olan bir alt menü gelecektir. Çok önemli olduklarından bu seçenekleri çok dikkatli bir şekilde işaretlemelisiniz.

15. Resim: ATA, IDE, MFM en RLL desteklerinin yapılandırılması: 1. ekran görüntüsü.
İlk baştaki seçenek, IDE/ATAPI arayüzü aracılığı ile bilgisayar donanımları kullanmak isteyen herkesin seçmesi gereken bir seçenektir. Donanımlara örnek vermek gerekirse, bunlar disklerin yanısıra, teypler, ZIP diskleri, CD okuyucu ve yazıcılarıdır. Günümüz bilgisayarların hepsi IDE/ATAPI arayüzünü kullandıklarından, bu seçeneğin seçili olması gerekir. Sisteminizin disklerini kullanabilmeniz için 'include IDE/ATA-2 DISK support' seçeneğinin seçili olması gerekir. Sadece SCSI sistemine sahip olan kullanıcılar dışındaki herkesin, bu seçeneği seçmesi gerekir.

16. Resim: ATA, IDE, MFM en RLL desteklerinin yapılandırılması: 2. ekran görüntüsü.
ATAPI CDROM sürücüsüne sahip olduğunuzda 'include IDE/ATAPI CDROM support' seçeneği seçili durumda olması gerekir. Ancak, ATAPI CD yazıcıları SCSI taklitlendirmesi (emulation) aracılığı ile kullanılmaları gerekir. SCSI taklitlendirilmesi, CD okuyucu ve yazıcıyı aynı anda kullanılmasına olanak sağlamaktadır. Ancak, CD'lerinizi SCSI taklitlendirilmesi aracıyla sisteme bağladığınızda (mount) veya CD'lerinizi CD çalar programıyla dinlemek istediğinizde sorunlar yaşayabileceğinizden, en iyisi 16. resimde görüldüğü gibi hem IDE/ATAPI CDROM desteğini ('include IDE/ATAPI CDROM support)' hem de SCSI taklitledirimesi ('SCSI emulation support') desteğini seçmenizdir. SCSI taklitlendirmesine gereksinim duyan aygıt için, ki genelde bu CD yazıcısıdır, '/etc/lilo.conf' dosyasına 'append="hdd=ide-scsi" (Bunula iligili açıklamaları aşağıda yer alan Lilo yapılandırılması bölümünde bulabilirsiniz.) satırını eklemeniz yeterlidir. Benim bilgisayarımda anakartın ATAPI arayüzünü kullanan bir ZIP aygıtı bulunduğundan, ben 'include IDE/ATAPI FLOPPY support' seçeneğini de seçtim. LS120 gibi Disket sürücüsüne benzer diğer aygıtları kullanmak istediğinizde, bu seçeneği siz de seçmek zorunda kalabilirsiniz. Birçok anakart disk, CDROM ve disket aygıtlarını kullanmak için 'PCI IDE' kullandığından, bu seçeneğin de işaretli olması gerekir. DMA desteği, işlemciyi işin içine karıştırmadan, bilgisayarınızın iç belleğine doğrudan erişim olanağı sağlamaktadır. Sonuç olarak IDE disklerini daha hızlı kullanımı gündeme gelmektedir. Bu da istenilen bir şeydir. Genelde gereksinim duymayacağınız olan PCI IDE kesmelerini paylaşma ('sharing PCI IDE interrupts support') seçeneği seçilmemiş durumdadır. İşin doğrusu, bazı IDE denetçileri (controllers) ağ kartı gibi, diğer bilgisayar aygıtları arasında kesme paylaşımlarına olanak vermektedir. Ne yazık ki, kesme paylaşımı genel başarımı olumsuz yönde etkilediğinden, donanım sorunlarınıza elinizde başka bir çözüm gelmediğinde başvurmanız daha iyidir.

17. Resim: ATA, IDE, MFM en RLL desteklerinin yapılandırılması: 3. ekran görüntüsü.
Benim anakartımda Pentium II işlemcisi ve Intel çip seti bulunmaktadır. Dolayısıyla ben, bu çip sete uygun desteği kullanmaktayım. Çekirdek seçeneklerinizi işaretlerken 17. resimde gözükmeyen diğer çip set seçeneklerini de göreceksiniz.

18. Resim: SCSI desteğinin yapılandırılması.
Bir SCSI kartına sahipseniz, gereksinim duyduğunuz seçenekleri işaretlemeniz gerekecektir. Aşağıdaki ekran görüntüsünde, 16. resimdeki SCSI taklitlendirmesi 'SCSI emulation support' desteğini seçtiyseniz, ATAPI CD yazısı için gerekli seçimler yapılmış şeklinde gösterilmektedir.

19. Resim: I20 aygıtların yapılandırılması.
Bilgisayarınızda I20 arayüzü olduğu durumda bu seçeneği seçmeniz gerekir. Birçok insanın bilgisayarında böyle bir arayüz olmadığından, bu seçenek işaretlenmemiş durumdadır.

20. Resim: Ağ aygıtı desteğinin yapılandırılması.
Ağ desteği olmadan çekirdeği derlemeyi şimdiye kadar başarmış değilim. O yüzden bu seçeneği herzaman seçmelisiniz. Ayrıca, aptal sürücüyü (dummy driver) de modül veya doğrudan çekirdek desteği ile seçmelisiniz. Birçok ev kullanıcısında olduğu gibi, ağ kartının olmaması durumda, Linux bu aptal sürücüye gereksinim duymaktadır. 21. Resimde de gösterildiği gibi, bu menüden ağ türü ile ağ kartı türünü seçebilirsiniz. Eğer, İnternet'e modem üzerinden bağlanacksanız, async tty seri bağlantı noktaları için olan noktadan noktaya (PPP) desteğini (PPP support for async serial ports) veya sync tty bağlantı noktaları için olan noktadan noktaya desteğini (PPP support for sync tty ports) (SyncLink gibi daha hızlı bağlantılar için) vermelisiniz. Eğer, bunu unutursanız, noktadan noktaya modülü seçtiğiniz durumda, çekirdek noktadan noktaya modülün olmadığı gibi bir mesaj verecek ve gerçek sorunun çözümünde size yardımcı olamayacaktır. Sıkıştırma yöntemlerinin ikisini de seçebilirsiniz. Çekirdek bunlara gereksinim duyduğu durumlarda onları kullanacaktır, gereksinim duymadığında ise, kullanmayacaktır.

21. Resim: Ağ kartının yapılandırılması.
Benim ağ kartım 3c509/3c529 çipli 3COM /100 MBit tir. Ağ bağlantımı modem ile yaptığım halde, sıfr ileride gerekebilir diye, bu sürücüyü modül olarak seçiyorum. Siz bilgisayarınızdaki ağ kartına ve ağ bağlantı şekline göre seçimler yapmalısınız. Bunlara ek olarak, SuSE'de olduğu gibi 'yast2' programı aracılığı ile ağ bağlantınızı yapılandırmanız gerekir.

22. Resim: Amatör radyo desteğinin yapılandırılması.
Gerektiğinde amatör radyo desteği ve ilgili sürücüyü seçebilirsiniz. Birçok insan bunları kullanmamaktadır.

23. Resim: Kablosuz bağlantı desteğinin yapılandırılması.
Kablosuz fare veya klavyeye sahıp iseniz, bu seçeneği seçmeniz gerekir. Birçok masaüstu bilgisayarlarında bunlar olmadığı için bu desteğin seçilmesine gerek yoktur.

24. Resim: ISDN desteğinin yapılandırlıması.
Sisteminizde ISDN kartı varsa, onu burada seçmeniz gerekir. Hangi karta sahip olduğunuzu, kart üzerindeki çip dahil bilmeniz gerekmektedir. Çünkü buna göre uygun sürücüyü seçmeniz çok önemlidir.

25. Resim: Eski CDROM sürücülerinin yapılandırılması.
Eeski olan 486 ve hatta 386 işlemcili bilgisayarlarda CDROM'lar IDE(ATAPI) denetleyicisi üzerinden sisteme bağlı değildir. Bunun yerine, ya ses kartı yada başka özel bir kart üzerinden sisteme bağlanmaktadırlar. Yeni sistemlerde bu seçeneğe gerek yoktur.

26. Resim : Girişler için temel destek.
Bu seçenek, 2.4.x çekirdekleri ile birlikte gelen en önemli eklerden biri olan USB desteği ile ilgilidir. Girişler için olan temel destek, Linux çekirdeği ile bazı USB aygıtları arasında bir katman görevini üstlenmektedir. 38. resimde çeşitli USB aygıtları ile birlikte bazı aygıtların yardım sayfalarında bu desteğe gereksinim duyulup duyulmadığı yazılmaktadır. Tüm yeni bilgisayarlarda USB bağlantıları vardır. O yüzden bu desteği seçmenizde yarar vardır. Ama dürüst olmak gerekirse, ben kendi bilgisayarımda USB desteğine gereksinim duymayacağım için bu desteği seçmedim.

27. Resim: Karakter aygıtların yapılandırılması: 1. Ekran görüntüsü..
X Pencere Sistemininde xterm'i veya metin kipinde oturum açmayı isterseniz, ilk seçenek olan sanal üçbirimi (virtual terminal) seçmeniz gerekir. Normalde bu seçenek herzaman seçili durumdadır. İkinci seçenek (sanal uçbirimde işletmen uçbirimi desteği 'support for console on virtual terminal'), düzgün çalışmayan veya eksik olan modüller, çekirdeğin kendisi ile ilgili sorunlar, açılış ve diğer hata veya uyarı iletilerini çekirdeğe nereye göndermesi gerektiğini seçmek içindir. X Pencere Sisteminde bu iletileri görebilmek için genellikle özel bir pencere açmanız gerekiyor. Metin ortamında ise, bu iletiler ilk sanal uçbirime yönlendirilmektedir (CTRL+ALT+F1). Bu seçeneği seçili bırakmakta yarar vardır. Bu iletileri ayrıca seri bağlantı noktasına, yazıcıya veya dördüncü seçenekteki gibi başka bir uçbirime yönlendirebilirsiniz. İletileri yazıcıya yönlendirebilmek için ayrıca gerekli bağlantı noktası desteğini üçüncü seçenek ile vermeniz gerekmektedir. Genelde üçüncü seçenek ('standard/generic (8250/16550 and compatible UARTs) serial support') seçili durumdadır. Ben kendi bilgisayarımda bunu modül olarak derlenecek şekilde seçtim. Bunun nedeni bilgisayarın açılışında SuSE bu modülün olmadığına ilişkin uyarı vermektedir ve bu desteği modül olarak derlemek ile bu can sıkıcı iletiden kurtulmuş oluyoruz ve de modülün gerçekte varolduğu denetlenmiş oluyor. Karakter aygıtlarının yapılandırılması çok önemlidir. Eğer, bunu başaramazsanız, çalışmayan bir sistem elde etmiş olursunuz. Bundan dolayıdır ki, bu konu 28, 29 ve 30. resimlerde ayrıntılı olarak ele alındı.

28. Resim : Karakter özellikli aygıtların yapılandırılması: 2. Ekran görüntüsü.
Eğer, kendi bilgisayarınızdaki xterm programını uzaktakan, başka bir bilgisayardan telnet veya ssh aracılığı ile kullanmak isterseniz, 'unix98 PTY' desteğini seçmeniz gerekecektir. Aslında tek başına bir bilgisayarın bu desteğe gereksinim duymayacağı gibi gelse de, bazı programlar arka planda buna gereksinim duymaktadır. O yüzden bu desteği her durumda seçmekte yarar vardır. Bu sadece SuSE yüklü bilgisayarda açılıştaki hata iletilerinden kurtulmak için olsa bile. Paralel bağlantı noktasına yazıcı bağlayacaksınız paralel yazıcı (Parallel printer support) desteğini seçmaniz gerekecektir. USB yazıcılarına sahip olanlar paralel bağlantı noktası desteğine gereksinim duymazlar. Çekirdeğin oluşturduğu iletileri yazıcıya yönlendirmeniz de mümkündür. Bunun için, yazıcı için olan işletmen uçbirim desteğini (Support for console on line printer) seçmeniz gerekir. Aslında bunu genelde pek isteyebileceğinizi sanmıyorum. Kullanıcı ortamında çalışan paralel bağlantı noktası sürücü desteğini (support for user-space parallel port device drivers), paralel bağlantı noktasına takılı çeşitli aygıtlara sahip olduğunuz durumda seçmeniz gerekecektir. Çoğunlukla da gerekmeyecektir. Benzer şekilde, I2C desteğeni, ki bu çeşitli görüntü (video) kartlarının sisteminizde çalışmasını sağlamaktadır, seçmeniz gerekecektir. Tabi bunların hepsini, çalışan bir çekirdeğe sahip olduktan sonra çekirdeğe eklemeniz herzaman için olanaklıdır. Buradaki fare ve oyun çubuğu desteklerini de seçebilirsiniz. Ancak, tüm fareler bu sürücüyü kullanmadıklarından, aynı zamanda 29. resme de bakınız. Günümüz CD yazıcılara yapılan yedeklemeler, QIC-02 teyp (QIC-02 Tape support) desteğinin yerine geçmiş durumdadır.

29. Resim: Karakter aygıtların yapılandırılması: Fare desteği.
Eğer, seri fareye sahipseniz, bunların hiçbirine gereksinim duymayacaksınız. Ancak, diğer türdeki fareler için buradaki parametreleri yapılandırmanız gerekecektir. Eğer, bir veriyolu (bus) faresine sahipseniz, ilk seçeneği ve açılan seçeneklerden de uygun olan fare türünü seçmeniz gerekir. Günümüzde birçok bilgisayarda, genellikle de yanlış bir şekilde veriyolu faresi olarak bilinen, yeni tür PS/2 adlı fareye sahiptir. Bu fareler genellikle klavyenin bağlantısı gibi bir bağlantı üzerinden /dev/aux aygıt sürücüsüne bağlıdır. Sıklıkla bu tür fareler bilgisayara bağlanmak için klavyeyi kullanmaktadır. Bu farenin düzgün çalışmasını sağlamak için 29. resimde gösterilen seri veya veriyolu olmayan (mouse support (not serial and bus mice)) ile PS/2 (PS/2 mouse (aka "auxiliary device" support)) fare desteğini seçmeniz gerekmektedir.

30. Resim : Karakter aygıtların yapılandırılması: 3. Ekran görüntüsü.
28.,29 ve 30. resimlerdeki çekirdek seçeneklerinden burada sözetmeyeceğiz. Onlar genellikle seçili değildir. Fteyp, yani disket aygıt sürücüsü (Ftape, the floppy tape device driver), disket sürücü denetleyicisi üzerinden bilgisayara bağlı olan teyp desteğine işaret etmektedir. Böyle bir teyp aygıtına sahip olduğunuz durumda bile, çekirdeği ilk derleme sırasında bu desteği vermeniz şart değildir. Diğer seçenekler günümüz üç boyutlu görüntü kartları ile ilgilidir. Eğer, AGP veriyolu üzerinden bağlı olan bir AGP kartına sahipseniz, AGP desteği ile kartınıza uygun olan /dev/agpgart (/dev/agpgart (AGP support)) AGP desteği altında bulunan aygıt sürücüsünü seçmeniz gerekecektir. Aslında bu destekleri seçmeden de tamamıyla çalışan bir Linux çekirdeği oluşturabilirsiniz. Intel'in i815 çipli anakart üzerinde gelen görüntü kartına sahip olan insanlar gibi, mutlaka çekirdeğin sürücüsünü seçmeniz şarttır! Birçok yeni Linux dağıtımlarında olduğu gibi, X pencere sisteminin 4.0 veya üstü sürümleri çalışmayacaktır. Benim bilgisayarımda NVidia TNT2 AGP kartı vardır, ancak bu kart çekirdek aygıt sürücüleri tarafından desteklenmemektedir (NVidia buna uygun aygıt sürücüsü geliştirebilmek için gerekli donanım bilgilerini yazılımcılar ile paylaşmamaktadır.). Dolayısıyla, benim durumunda AGP desteğini vermemin hiç bir yararı yoktur. Buna karşılık X pencere sisteminin 4.0 sürümünü, çekirdek aygıt sürücüsü olmadığı durumda bile kullanabiliryorum. Doğrudan resimleştirme desteği (Direct rendering support) X pencere sisteminde 4.0 sürümünden başlayarak, grafik başarımını çekirdek üzerinden artırmaya yarayan bir tekniktir. Bundan faydalanabilmek için görüntü kartınızın çekirdek tarafından destekleniyor olması ve XFree86 4.0 ve üstü sürümünü kullanıyor olmanız gerekmektedir. Yine de bunları seçmeyerek de düzgün çalışan bir Linux çekirdeği oluşturmanız olasıdır.

31. Resim : Çoğul ortam (multimedia) aygıtların yapılandırılması.
Görüntü veya radyo kartına sahip olduğunuz durumda bu desteği seçmeniz gerekir. Daha önce de söylediğim gibi, çekirdeğin düzgün çalışabilmesi için buna ille de gerek yoktur.

32. Resim: Dosya sistemlerinin yapılandırılması: 1. Ekran görüntüsü.
Burada Linux'un hangi dosya sistemlerini okuyabilmesi gerektiğini seçmeniz gerekir. Belki de çekirdeğinizin Windows işletim sistemi disklerini veya disket sürücülerinin okuyabilmesini isteyebilirsiniz. Ancak, Linux'un kendi dosya sistemleri olan ext2 veya daha yeni olan ReiserFS'i okuyabilmesini sağlamanız şarttır. Eğer, bu desteği vermezseniz, Linux açılış diskini (3. resimde anlatıldığı gibi.) okuyamayacağı için sistemi başlatamayacaktır bile. Sisteminizin DOS/Windows disk ve disket sürücülerini okuyabilmesini sağlayabilmeniz için, DOS FAT desteğini (DOS FAT support), ancak Windows NT/Windows 2000 disklerini sadece okuma kipi için menüde yer alan başka bir seçeneği daha seçmeniz gerekir. DOS/Windows disk ve disket sürücülerini hem okumak hem de yazmak amaçlı olarak, MSDOS desteğini (MSDOS fs support) seçmeniz gerekir. Aslında hemen hemen herkesin bunlara gereksinimi vardır. O yüzden herkes bunları seçecektir. VFAT, Windows 95 veya 98 altında uzun dosya isimleri desteğidir Benim sistemim hem Linux hem de Windows 98 sistemlerine sahiptir. İkili açılış sistemi (dual boot system) olarak adlandırılan bu sistemde Linux'un lilo adlı sistem yükleme yöneticisini (lilo'nun yapılandırılması bölümüne bakınız.) kullanıyorum. Dolayısyla ben VFAT desteğini seçmiş durumdayım. CD'leri standart biçimi olan ISO 9660 biçimde okuyabilmek için desteğini seçmeniz gerekir. ISO 9660 standardındaki MS-DOS'un 8.3'ten daha uzun dosya isimlerini tanıyabilmek için, aşağıdaki Joilet eklemelerini (Joliet extensions) de seçmeniz gerekir. Herkes günümüz CD'lerini okumak isteyeceğinden, bu destekler genelde seçili durumdadır. 33. resimde Linux'un ext2 dosya sisteminin yanısı sıra, diğer bazı seçenekler de açıklanmaktadır.

33. Resim : Dosya sistemlerinin yapılandırılması: 2. Ekran görüntüsü.
/proc dizini, sistem hakkında, kullanılan kesmeler gibi, çeşitli durum bilgileri içermektedir. Normalde bu destek herzaman seçiliyor. İkinci eklenmiş dosya sistemi desteği (Second extended fs support) Linux'ta (hala) standart olan dosya sistemi desteğidir. Bunu kesinlikle modül olarak değil, çekirdekte doğrudan derlemeniz şarttır! 32. ve 33. resimlerde görünmeyen, ancak ext2 dosya sisteminden sonra ortaya çıkan ve elektrik kesilmelerinden dosya sistemine verilen zararları ext2'den daha iyi düzeltebilen ReiserFS desteği vardır. Şimdilerde ReiserFS henüz geliştirlime aşamasında olduğundan, deneysel olarak işaretlendirilmiştir. Buna karşılık, şimdiden birçok Linux dağıtımı bu dosya sistemi desteği ile birlikte gelmektedir. Her nekadar ReiserFS ileride ext2 dosya sisteminin yerini alacak şekilde düşünülmüş olsa bile, tüm disk bölümlerini ReiserFS olarak yapmanızı henüz önermiyorum. UDF dosya sistemi desteğini, Windows işletim sisteminde, yavaş disklerde olduğu gibi CD'leri kopyalamanıza yarayan packetCD programını kullanıyorsanız, vermeniz gerekecektir. Diğer kişisel bilgisayarlar ile veri alış verişinde bulunabilmek çok işe yaramaktadır. Bu paketlenmiş CD'leri Linux altında da okuyabilmek, 'mount -t udf /dev/scd0 /cdrom' gibi bir komutla, CD'yi dosya sisteminize bağlamak mümkündür. Bu bölümde ayrıca, ağ dosya sistemi, bölme türleri ve doğrudan dil desteği gibi seçenekleri de içermektedir. Bilgisayarınız büyük bir ağ ortamında değil ise, bunlar ile işiniz olmaz. Ancak, ağ üzerinde çalışırken, NFS ve belkide SMB dosya sistemi desteklerini seçmeniz gerekebilir. Tek başına olan bilgisayarlar için bunlara gereksiniminiz yoktur. Disk bölmeleri (Partition Types) oldukça ileri seviye işlemler içindir ve çekirdeğinizin etkili çalışması için mutlaka da gerekli değildir. O yüzden en iyisi bunu seçmemektir. 34. ve 35. resimlerde, doğrudan dil desteğinden (Native Language Support) söz edilmektedir.

34. Resim : Doğrudan dil desteğinin yapılandırılması : 1. Ekran görüntüsü.
Bu menüde DOS ve Windows dosya isimleri ile kullanılacak Linux kod tablolarından seçim yapabilirsiniz. 34. resimdeki kod tabloları DOS dosya isimleri içindir. 35. resimdeki NLS tabloları ise, daha uzun dosya isimleriyle kullanılmak üzeredir. 34. resimde en üstte yer alan seçenek, benimsenmiş NLS seçeneği (Default NLS option), Linux'ta hangi işaretlerin standart olacağını belirler. 35. resimde iso8859-15 seçeneğinin anlamı açıklanmaktadır.

35. Resim : Doğrudan dil desteğinin yapılandırılması: 2. Ekran görüntüsü.
NLS ISO 8859-15 seçeneğini, Windows'un FAT ve Joilet eklentili CD dosya sistemleri oluşturabilmeniz için gereklidir, yani bunu seçmek iyi bir fikirdir. NLS ISO 8859-15 seçeneği batı dillerine uygun olup Euro karakterini de içermektedir. Dolayısıyla bu kod tablosu herzaman için çekirdekle derlenmektedir. NLS ISO 8859-1 batı dilleri için olan önceki tablodur, ama onda Euro karakteri yoktur.

36. Resim : İşletmen uçbirimin yapılandırılması.
VGA metin işletmen uçbirimi (VGA text console) desteği, VGA çözünürlüğünde metin kullanılması içindir. Bunu hemen hemen herkes istediğinden, bu destek hep seçilidir. Sadece eski 386 bilgisayarların bir kısmında VGA uyumlu kart yoktur, ama günümüz bilgisayarlarının hiçbiri bu seçenekten dolayı herhangi bir sorunla karşılaşmaz. İkinci seçenek olan, görüntü seviyesi seçme desteği (video mode selection support) bilgisayarın açılışı sırasında metin ekranındaki çözünürlüğü ayarlamanıza olanak vermektedir. Bir satırda daha fazla karakterin sığmasını istediğinizde bu destek işe yaramaktadır. Ancak, genellikle bu seçilmemektedir. Son iki destek henüz deney aşamasındadır ve size onları seçmemenizi öneririm.

37. Resim : Ses yapılandırması.
Bu bölümde ses yapılandırılması yapılmaktadır. SuSE 6.3 ve üstünde olduğu gibi sizin Linux dağıtımınız ALSA ses sürücülerini kullanıyorsa, ses kartı desteğini (sound card support) modül olarak seçmeniz yeterlidir. ALSA sürücüleri daha sonra derlenmekte ve çekirdeğe bağlanmaktadır (Daha ayrıntılı bilgi için 'SuSE ve ALSA ses sunucuları' bölümüne bakınız). Eğer, Linux dağıtımınız çekirdeğin standart ses sürücülerini kullanıyorsa, size uyanı buradan seçmek zorundasınız. Hemen hemen tüm ses kartları burada yeraldığı için, uygun olanı seçmek pek sorun olmaz. Sisteminizdeki ses kartının hangi sürücülere gereksinim duyacağını öğrenmek için SuSE'nin yast2 gibi, yapılandırma programlarından yararlanabilirsiniz. Aslında, şunu belirtmekte yarar vardır: Burada yapacağınız bir hata sonucunda sadece bilgisayarınızdan ses duyamayacaksınız, ama sistemin geri kalanı bundan etkilenmeyecektir. Yani çekirdeğiniz düzgün çalışacaktır.

38. Resim : USB desteğinin yapılandırılması.
Bilgisayarımın anakartında USB bağlantı noktası var, ama ben bunu kullanmıyorum. Tüm USB desteklerini seçersem, SuSE bana bilgisayarın açılışında hata iletileri vermektedir. SuSE tabii ki USB desteği sağlamaktadır ve dolayısyla ilgili sürücüleri modül olarak yüklemeye çalışmaktadır. O yüzdendir ki bende USB desteği (Support for USB) modül olarak seçilmiştir. Her ne kadar bu hata iletisi benim için önemli olmasa da, buna çok şık bir çözüm buldum. Yapmanız gereken, USB dosya sistemi (Preliminary USB device filesystem) desteğini seçip, altında açılan listeden ilgili USB sürücüsünü seçmenizdir. Pentium II anakartlı bilgisayarım oldukça eski olduğundan, ben 'UHCI (Intel PIIX4, VIA, ...)' sürücüsünü modül olarak seçtim. Ancak, sizin bilgisayarınız yenilerden ve Intel çipli ise, 'UHCI Alternate Driver (JE) support' desteğini modül olarak seçmelisiniz. Compaq bilgisayarları için de OHCI desteğini modül olarak seçmelisiniz. Aslında, bu üç tür sürücüden sadece birene gereksinim duyacaksınız. Ancak, kuşkuya düştüğünüzde her üçünü de seçebilirsiniz. Linux dağıtımınız otomatik olarak hangisine sahip olduğunuzu bulup, onun modülünü yükleyecektir.

Ana kartınızın USB bağlantı noktaları ile ilgili desteği seçmek yeterli değildir. Bilgisayarınıza bağlı USB aygıtların sürücülerini de seçmelisiniz. USB aygıtlar sınıfı sürücüleri (USB Device Class drivers) listesinde çeşitli olanaklar vardır. Burada yapılacak seçimler açıktır ve yanlış seçimden dolayı pek bir zarar görmezsiniz. Eğer, yinede kuşkuya duşerseniz, yardım sayfalarını okuyabilirsiniz.

39. Resim : Çekirdek korsanı (çökerticisi) yapılandırması.
Bu çok kolay: Bunu seçmeyin! Bu seçenek, programcıların çekirdeğin çökmesinde hangi kullanıcının parmağı olduğunu bulmak veya disk ön belleğini okumak gibi, sıradan kullanıcı için tamamen gereksizdir.

Kayıt et ve çık.

40. Resim : Kaydet ve çık.
Of be, en sonunda başardık. Geriye kalan, aşağıda da anlatıldığı gibi, çekirdeği derlemek ve yüklemektir.

Çekirdeğin derlenmesi

'Kaydet ve çık' (Save and Exit) tuşuna basmakla, yaptığınız yapılandırma seçenekleri './.config' veya çekirdeğinizi /usr/src/linux dizininde derliyorsanız, '/usr/src/linux/.config' dosyasına kayıt edilecektir. Size önerim, bu dosyayı saklamanız ve yeni bir çekirdek derleyeceğiniz zaman ve çekirdekler arası farklılıklar da az ise, sözgelimi 2.4.5'den 2.4.6'ya güncelleme yapıyorsanız, onu yeni çekirdeğin bulunduğu dizine kopyalamanızdır. Bu şekilde, eskiden yapmış olduğunuz tüm yapılandrımayı saklayarak, hem üzerinde değişiklik yapma fırsatı elde ediyorsunuz hem de zamandan kazanmış oluyorsunuz. Benzer şekilde Linux dağtımınızla birlikte 'stantart' çekirdeğin yapılandırma dosyası varsa, ki bu genelde /boot/config dir, onu alıp (Bu dosyayı çekirdek kaynak dosyalarının bulunduğu dizine .config olarak kopyalamanız gerekecek. ) kullanabilirsiniz. Ancak, çekirdeğinizi güncellediyseniz ve garip sorunlarla karşı karşıya kalıyorsanız, ilk silmeniz gereken dosya bu .config dosyası olmalıdır! Tabii ki, güvenlik açısından en son düzgün çalışan çekirdeğin yapılandırma dosyasının yedeğini almış olduğunuzu düşünüyorum. Çekirdeği derlemede kullanılan adımlar şöyledir:
make dep
make clean (eski çekirdekler için)
make bzImage
make modules
make modules_install
40. resimde 'make dep' komutunu çalıştırmanız gerektiği zaten belirtilmişti. Bu komutları tabii ki Linux çekirdeğinin kaynak kodlarının bulunduğu dizininde, ki genelde bu /usr/src/linux dizininidir, çalıştırmanız gerekir. 2.0.x veya daha eski çekirdek sürümleri için ayrıca 'make clean' komutunun çalıştırılması gerekir. Bu komut, derlemeye başlamadan önce eski dosyaları silmektedir. 'make clean' komutu, eski nesne dosyalarını (.o) üzerine yazılmadığı için ortaya çıkan ve başka türlü çözülmesi ve izlenebilmesi çok zor olan sorunları gidermekteydi. 'make bzImage' komutu çekirdeği derlemekte, ancak yüklememektedir. Çekirdeği 'make bzlilo' veya 'make zImage' gibi başka make komutlarıyla da derlemeniz mümkündür, ancak bu durumda beklenmedik sorunlar ortaya çıkabilir. Bazı çekirdekler 'make zImage' ile derlenebilmek için çok büyüktür. Derleme sırasında hata oluşmaktadır. 'make bzlilo' ile '/etc/lilo.conf' yapılandırma dosyası dahil olmak üzere herşeyin yapılandırıyor olması gerekir. Ancak, bu herzaman durumu yansıtmamaktadır. En güvenlisi en son sözünü ettiğim komutları kullanmamaktır. 'make modules' komutu modülleri derlemekte, 'make modules_install' komutu ise, onları yüklemektedir. Eğer, kullanmakta olduğunuz çekirdeğin sürüm numarası 2.4.6 ise, modüller '/lib/modules/2.4.6/' dizinine kopyalanmaktadır. Böylece, başka bir çekirdek sürümü kullanılması halinde, modüller çekirdek sürümüne uygun düşen dizine kopyalandıkları için, çekirdek modüller ile ilgili herhangi bir sorun yaşamamaktadır. Bilgisayarın açılışı sırasında çekirdek hangi modülleri kullanacağını artık bilmektedir. Ancak, daha önceden 2.4.6 sürümlü çekirdeği derlemişseniz, daha sonraki derlemelerde, her nekadar yeniden derlenenler eskilerin üzerine kopyalanıyorsa da, artık kullanılmayan modüller hala '/lib/modules/2.4.6/' dizininde yer alıyor olabilir. Bu sorun yaratmamakla birlikte, modülleri yeniden derlemeden önce eskilerini silmek hem herzaman için iyi bir düşüncedir hem de pek fazla zamanınızı almaz.

Çekirdeği yüklerken sorun yaşamak istemiyorsanız, '/etc/lilo.conf' dosyasının doğru yapılandırldığını ve yeni çekirdeğin 'System.map' dosyasını doğru dizine kopyalamanız gerekir. En sonunda 'lilo' komutunu çalıştırmanız gerekir. Lilo yerine Dos/Windows altında Linux çekirdeğini yükleyen 'loadlin'i kullanmanız da olasıdır. Her ikisinden de aşağıda sözedilmiştir.

Lilo'nun yapılandırılması

Lilo'nun yapılandırma dosyasını genellikle '/etc' dizininde '/etc/lilo.conf' adı altında bulabilirsiniz. Bu dosyayı XEmacs, kedit, gedit gibi gelişmiş metin işlemcileriyle düzenleyebileceğiniz gibi, basit bir düzenleyici (editör) de kullanabilirsiniz. lilo.conf dosyası aşağıdakine benzer bir görünüme sahip olmalıdır:

boot    = /dev/hda
vga     = normal
read-only
menu-scheme = Wg:kw:Wg:Wg
lba32
prompt
timeout = 300
message = /boot/message

  other  = /dev/hda1
  label  = win98

  image  = /boot/bzImage
  label  = linux-2.4.6
  root   = /dev/hda3
  append = "parport=0x378,7 hdd=ide-scsi"

  image  = /boot/vmlinuz.suse
  label  = suse
  root   = /dev/hda3
  append = "hdd=ide-scsi"
  initrd = /boot/initrd.suse

Bu dosyanın ayrıntıları kullandığınız sistemden sisteme veya Linux dağıtmları arasında farklılıklar gösterebilir. O yüzden dosya içeriğini burada adım adım açıklıyorum. Genelde ilk 8 satırı değiştirmeniz gerekmemektedir. İlk satırdaki boot komutu, sistemin hangi diskten açılacağını, yani ana açılış kaydın bulunduğu yeri (master boot record) belirtmektedir. Benim bilgisayarımda bu birinci disk olan /dev/hda dır. 'vga' seçeneği, açılış programının standart olan, 80x25 karakterlik VGA metin ortamına işaret etmektedir. 'read-only' (sadece okumak amaçlı) seçeneği, açılış sürecinin Linux disk bölmesini sadece okunabilir şekilde bağlamaktadır (mount). Linux açılırken disk bölmeleri hatalara karşı denetlenmekte ve ancak ondan sonra okunabilir ve yazılabilir şekilde bağlanmaktadır. 'menu-scheme' (menü şeması) satırında metin ortamdaki lilo'nun renkleri ayarlanmaktadır. 'lda32' ile BIOS'ta buna destek varsa, işletim sistemi 1024 silindirin dışında kalıyorsa bile bilgisayarınızı açabilirsiniz. Günümüz bilgisayarların hepsi 'lba32'yi desteklemektedir. Bununla ilgili sorununuz olduğuna, BIOS'sunuzu güncellemekle çözebilirsiniz. BIOS güncelleme işi aslında günümüz geniş kapasiteli disklerle yapılması kaçınılmaz hale gelmiştir. 'prompt' komut, lilo'nun kullanıcıya, seçeceği işletim sistemi için komut satırı vermesini sağlamaktadır. 'timeout' ise, benimsenmiş işletim sistemini yüklemeye başlamadan önce kullanıcıya tanınan zamanı mili saniye olarak belirtmektedir. Buradaki lilo.conf dosyasında olduğu gibi yüklenecek benimsenmiş bir işletim sistemi belirtilmemişse, ilk rastlanan işletim sistemi yüklenmektedir. Benim durumumda bu Windows 98 dir. Böylece Linux'u bilmeyenler Windows işletim sistemini elde etmiş olurlar. 'message' seçeneği, lilo çalışırken göstereceği resmi işaret etmektedir. SuSE'de bu şişko penguen olan Tux'tur ve tabii ki 'SuSE Linux 7.1' yazısı da. Bu resmi, 'xv /boot/message' veya 'gv /boot/message', bazan da 'gimp /boot/message' komutunu çalıştırarak görüntüleyebilirsiniz. 'xv' ve 'gv'(ghostview) çeşitli biçimdeki resim dosyalarını görüntüleyebilmenizi sağlayan paylaşımlı yazılımlardır (shareware). Ancak, /boot/message dosyası grafik ekranı olan ve yeni Linux dağıtımlarında vardır. Eskilerde ise, bu dosyada sadece bir metin yazısı vardır. Eğer, isterseniz beğendiğiniz başka bir resmi de kullanmanız mümkündür, ama ben bunu hiç denemedim. Lilo ile ilgili tüm seçenekler 'man lilo' veya 'man lilo.conf' komutlarıyla görüntüleyebileceğiniz man sayfalarında yeralmaktadır.

Diğer seçenekler çeşitli işletim sistemlerinin açılışını denetlemektedir. En fazla onaltı adet işletim sistemi veya çekirdeği yüklemeniz mümkündür. Gnelde bu yeterli olmaktadır. İşletim sistemini 'label=' (etiket) satırıyla seçersiniz. Windows98 ve daha eskileri ile DOS işletim sistemleri, Windows NT veya Windows 2000 değil, ilk ana disk bölmesinde yer almaları zorunluluğu vardır. Dolayısıyla bu işletim sistemleri sadece 'other' ve 'label' satırlarına gereksinim duymaktadır. 'image=/boot/bzImage' ile başlayan ikinci bölüm, 'linux-2.4.6' etiketi ile yeni bir çekirdeği başlatmaktadır. Benim Linux'umdaki root dizini '/dev/hda3 dır. 'append = "parport=0x378,7 hdd=ide-scsi"' olan satır, çekirdeğe paralel kapının bağlantı noktası (port 0x378) ile kesme (interrupt 7) numaraları adresleri ile, CD 'hdd' yazıcımının SCSI taklitlendirmesi (emulation) aracılığıyla erişilmesi gerektiğini belirtmektedir. CD aygıtlarının isimleri sistemden sisteme farklılık göstermektedir. Benim bilgisayarımda 'hdd' dir. Sizinkinde farklı olabilir. Kesme bilgisini belirtmek kişisel bir seçimdir. Kesmeyi belrtmek yazdırma işlemini hızlandırmaktadır. Ancak, paralel bağlantı noktası (yazıcı) için hali hazırda bir kesme numarısı yoksa, bunu belirtmeseniz de olur. Linux'ta paralel bağlantı noktasının, kesme kullanmadan, kullanımına yarayan, daha yavaş çalışan ve adına 'polling' dediğimiz bir yöntem benimsenmiş değer olarak kullanılmaktadır. 'image = /boot/vmlinuz.suse' ile başlayan son bölümde SuSE'nin yükleme süreci sırasında oluşturulmuştur. append="hdd=ide-scsi" satırını ben kendim ekledim. 'boot/vmlinuz.suse' dosyası SuSE ile birlikte gelen standart çekirdektir. Bu çekirdeği acil durumlar için saklamanızı şiddetle öneririm. 'initrd = /boot/initrd.suse' satırı sadece standart yükleme çekirdeği içindir ve 'ramdisk' denilen bir sanal diskin geçici belleğe (RAM) yüklenmesini belirtmktedir. Bu geçici bellek disk alanı (ramdisk) Linux'un açılışı için gerekli tüm modülleri içermektedir. Bir dağıtım çekirdeğinin çok değişik donanımların hepsini desteklemek zorundadır. Bunu yapabilmenin yolu da çok sayıdaki modülü kullanmaktan geçmektedir.

Umuyorum ki şimdi, lilo komunutunu çalıştırmadan önce, yeni Linux çekirdeğini nereye koymanız gerektiği daha açıktır. Örneğimizde çalıştırılması gereken komutlar şunlardır:

cp /usr/src/linux/arch/i386/boot/bzImage /boot
cp /usr/src/linux/System.map /boot/System.map-2.4.6
lilo
İkinci kopyalamayı SuSE 7.3'de aşağıdaki gibi de yapabilirsiniz:
cp /usr/src/linux/System.map /boot

(Asıl System.map dosyasının adı zaten değiştirilmişti.)
Eğer, 'bzImage' adında bir çekirdeğiniz varsa ve onu saklamak istiyorsanız, onu '/boot/bzImage-2.4.6' adında kopyasını alabilir ve gerekli değişiklikleri (/boot/bzImage yerine /boot/bzImage-2.4.6 yazarak) /etc/lilo.conf yapılandırma dosyasında yapabilirsiniz. Çekirdeğin önemli değişken isimleri ile değerlerini içeren System.map dosyasını, derleme işlemi herzaman yeniden yaratmaktadır. 'depmod -a' komutu, çekirdek ile modüller arasındaki tüm ilişkiler olan, çekirdek modüllerinin tüm bağımlılıklarını ve '/etc/modules.conf' dosyasındaki bilgileri içeren bir dosya yaratmaktadır. SuSE dahil birçok Linux dağıtıcısı, 'depmod -a' komutunu sistemin açılışı sırasında çalıştırmaktadır. Ancak, /boot/System.map dosyasının herzaman için varolduğundan ve çekirdek sürümü ile uyumlu olduğundan emin olmak akkılıca bir hareket olur. 'lilo' komutu eski veya yeni çekirdeğin yapılandırmasını yüklemektedir. Üzerine yazdığınız bir '/boot/bzImage' dosyanız varsa ve 'lilo' komutunu çalıştırmazsanız, o zaman yeni bir çekirdeğiniz olmasına karşılık, bu çekirdek sisteminizi açamayacaktır. Linux dağıtımı ile birlikte gelen ve saklamış olduğunuz çekirdek çalışır durumdadır, çünkü onun üzerine hiçbir şey kopyalamadınız. Eski çekirdeği saklamakla, yeni çekirdekler derleme ve deneme işi daha az ağrılı hale gelecektir.

Loadlin'in kullanılması

Eğer, Linux sisteminizi yüklemek için 'loadlin' kullanıyorsanız, bu kullanışlı programın yerini (C:\loadlin) zaten biliryorsunuzdur. 'loadlin' programı hemen hemen her Linux dağıtıcısının birinci CD'sindeki 'dosutils' dizininde yeralmaktadır. Diskinizin 'C:\loadlin' dizinine yeni çekirdeği de, belkide farklı bir isimde, kopyalamanız gerekmektedir. Windows98'i DOS ortamında ilk başlatırken, Linux'a geçmek için aşağıdaki komutu vermeniz yeterli olur:
loadlin bzImage
Çekirdeğinizi kendiniz derlediyseniz, root bölmesinin yeri gibi çeşitli yapılandırma bilgileri normal şartlar altında çekirdekte yeralmaktadır. Bu yüzden, yukarıda çalıştırmış olduğunuz komut, Linux sisteminizi sorunsuz başlatmaya yeterli olacaktır. DOS ortamında 'loadlin | more' komutunu çalıştırırsanız, yardım sayfasını, içinde İnternet'teki 'loadlin'in 'nasıl' sayfasına olan bağlantı ile birlikte elde edersiniz. Eğer, 'lilo' ile uğraşmaktan çekiniyorsanız, yeni derlemiş olduğunuz çekirdeği 'loadlin' ile kolayca deneyebilrisiniz. 'loadlin' ile 'bzImage' 1.44MB'lik bir diskete sığmaktadır. EMM386 destekli DOS ortamında sisteminizi açtıktan sonra,'loadlin' ve 'bzImage'in bulunduğu disketten Linux'unuzu açmayı denemede sorun çıkabilecek hiçbir şey olamaz. Tabii bunun için DOS disketine sahip olmanız gerekmektedir.

SuSE ve ALSA ses sürücüleri

SuSE standart ALSA'yı (Advanced Linux Sound Architecture-Gelişmiş Linux Ses Mimarisi) kullanmaktadır. Bu aygıt sürücüleri, çekirdekte yeralan OSS projesindekilerden daha kalitelidir. Linux altında ses konusunda ciddi iseniz, mutlaka ALSA aygıt sürücülerini kullanmalısınız. Bu aygıt sürücüleri çekirdek (eski) kaynak kodlarına dahil olmadıkları için, ayrıca derlenip yüklenmeleri gerekmektedir. ALSA'nın kaynak kodları SuSE'nin 'zq' kısmında bulunmaktadır. Bunun ne anlama geldiğini bilmiyorsanız okumaya devam edin. ALSA'yı YaST veya YaST2 aracılıyla yüklerseniz, kaynak kodlar '/usr/src/packages/' dizininde yeralacaktır. ALSA aygıt sürücülerini derlemek ve yüklemek için aşağıdakileri yapınız:

rpm -bb /usr/src/packages/SPECS/alsa.spec
cd /usr/src/packages/BUILD/alsa/alsa-driver-<version number>/
./configure
make install
İlk satırdaki komut, kaynak kodu ile aygıt sürücülerini '/usr/src/packages/BUILD/' dizinine yüklemektedir. Bunun yanısıra, ALSA kütüphaneleri ile çeşitli programlar, rpm dosyaları olarak derlenmektedir. Ancak, ne yazık ki ALSA aygıt sürücüleri benimsenmiş değer olarak doğrudan derlenmemektedir. Onları, son iki komutla kendiniz derleyip yüklemeniz gerekecektir. './configure' komutu, sisteminizdeki gerekli yapılandırma bilgileri ile dosyaları bulmakta ve yapılandırma dosyasına yerleştirmektedir. 'make install' komutu ise, aygıt sürücülerini, derleyerek çekirdeğin kullanımı için '/lib/modules/2.4.6/misc/ dizinine yüklemektedir. Şimdi, SuSE'yi başlattığınızda istenilen aygıt sürücüsü otomatik olarak yüklenmektedir. Kabul etmeliyim ki buradaki işlemler biraz karışık. Ama sizin, yeni çekirdeğinize ses desteği vermek için, gerekli aygıt sürücülerini elde etmek ve daha kısa yoldan yüklemek için ne yapmanız gerektiğini çok iyi bildiğinizi varsayıyorum.

Eğer, SuSE kullanmıyor veya ALSA aygıt sürücülerinin daha yeni sürümlerini kullanmak isterseniz, aygıt sürücüleri ve ilgili kütüphaneler ile programları http://www.alsa-project.org adresinden elde edebilirsiniz. Sitenin başlangıç sayfasında, ALSA ile ilgili en son haberleri de alabilirsiniz. Sözgelimi, Şubat 2002 itibarıyla, ALSA aygıt sürücülerinin 2.5 sürümlü çekirdeğin kaynak kodları ağacına ekleneceği haberi. Bunun yanısıra sanaldoku yöresinin sayfasında, indirebileceğiniz çeşitli dosya ve programlara olan bağlantılar bulabilirsiniz. Aşağıda, ALSA aygıt sürücülerinin nasıl derleneceğini göstereceğim. Benzer işlemler, kütüphaneler ve diğer programlar için de yapılabilir. Belli bir dizinde, sözgelimi '/usr/local/', içinde aygıt sürücülerini içeren paketi açın. '/usr/local/alsa-driver-<sürüm-numarası>/' dizine geçip, yukarıdaki './configure' ile başlayan komutları çalıştırın. Eğer, Linux dağıtımınız standart olarak ALSA aygıt sürücülerini kullanmıyorsa, bazı ek işlemler de yapmanız gerekebilir. Ne yazık ki, bu konu zaten oldukça uzun olan bu yazının kapsamına dahil değildir. Ama yine de, ALSA ile ilgili daha fazla bilgi ALSA FAQ (SSS-Sıkça Sorulan Sorular) den bulunabilir. Bunları da indirmeniz mümkündür.

Dizüstü bilgisayar (pcmcia) desteği

Pcmcia detseği 2.4.x çekirdeklerinden itibaren standarttır. Buna karşın, PCMCIA Nasıl belgesi, PCMCIA'nın çekirdek sürümlerindekileri mümkünse kullanılmamasını yazmaktadır. Şimdilik pcmcia kaynak kodları, kabuk programları ve aygıt sürücüleri dahil olmak üzere, 2.0, 2.2 ve 2.4 sürümlü çekirdeklerin hepsiyle çalışabilmektedir. Ancak, kendi deneyimlerime göre, çekirdeği yeniden derlediğimde, pcmcia aygıt sürücüleri çalışmaz hale gelmekte ve onların da yeniden derlenmesi gerekmektedir. Buna, kullandığınız Linux dağıtımına göre iki çözüm vardır. Çözümlerden ilki, dağıtımızla birlikte gelen kaynak kodlarını kullanmak. Kaynak kodlarını yükleme ve derleme sonucunda elde edeceğiniz rpm dosyasını, herzaman yüklemeniz mümkündür. Diğer çözüm ise, en son pcmcia sürümünü http://sourceforge.net/projects/pcmcia-cs/ adresinden indirip, aşağıdaki gibi, paketi açıp, derleyebilir ve yükleyebilirsiniz:

cp /etc/rc.d/pcmcia /etc/rc.d/pcmcia.SuSE
cp ~/pcmcia-cs-3.1.?.tar.gz /usr/src
cd /usr/src
tar -zxf ./pcmcia-cs-3.1.?.tar.gz
make config
make all
make install
cp /etc/rc.d/pcmcia.SuSE /etc/rc.d/pcmcia

İlk ve son satırdaki komutları SuSE'ye özgü bir sorunu çözmeye yönelktir. SuSE'nin pcmcia betik programı olan '/etc/rc.d/pcmcia', 'make install' komutu tarafından üzerine yazılmaktadır. Bu da SuSE'de çalışmamaktadır. Daha önceden saklamış olduğumuz betik programını 'make install' komutunu çalıştırdıktan sonra, dosyanın üzerine kopyalamakla sorun çözülmektedir. Eğer, yanlışıkla SuSE'nin asıl betik programının üzerine kopylama yaptıysanız, pcmcia paketini 'a1'den tekrar yüklemeniz, betiğin yedeğini almanız, 'make install' komutunu çalıştrmanız ve en sonunda sakladığınız asıl betik programını kopyalamanız gerekecektir.

SuSE'de pcmcia desteği için olan rpm paketini aşağıdaki gibi elde edebilirsiniz:

rpm -i /cdrom/suse/zq1/pcmcia-3.1.?.spm
cd /usr/src/packages
rpm -bb ./SPECS/pcmcia-3.1.?.spec
cd /RPMS/i386/
rpm -i --force ./pcmcia-3.1.?.rpm
SuSEconfig

İlk satırdaki komutu çalıştırırken, altıncı veya yedinci CD, yani pcmcia aygıt sürücülerinin bulunduğu CD'yi /cdrom dizinine bağlamış olduğunuzu ve pcmcia aygıt sürücülerinin kendilerini yüklemek isteyeceğinizi varsaydım. 'rpm -i' komutu pcmcia kaynak kodlarını yüklemekte, 'rpm -bb' de pcmcia rpm dosyasını derlemektedir. '--force' seçeneğini kullanmak zorundasınız, yoksa rpm programı, haklı olarak, pcmcia'nın zaten yüklü olduğunu söyleyerek, aygıt sürücülerinin yeni derlenmiş halini yüklemeyecektir. Her zaman olduğu gibi, SuSE altında elle rpm paketi yükledikten sonra yapılandırma değişikliklerin hayata geçirilmesi için SuSEconfig (Küçük ve büyük harf yazımına dikkat edin!) programını çalıştırmanız gerekir. YaST veya YaST2 yükleme programları kullanılıyorsa, SuSEconfig programı, yeni paketlerin yüklenmesinden veya değiştirlmesinden sonra, otomatik olarak çalıştırmaktadır. Dolayısıyla, onu sizin terkardan çalıştırmanız gerekmez.

Pcmcia detseğini düzgün bir şekilde kullanabilmek için, çekirdeği yapılandırırken ağ desteğini ('network support') seçip, ağ kartlarıyla ilgili diğer aygıt sürücülerinin hiçbirisini seçmemeniz gerekir. 11. resimde de sözü edildiği gibi, İnternet kullanmak istiyorsanız, TCP/IP desteğini de seçmeniz gerekecektir.

'modutils' in kullanılması

Daha önce de sözünü ettiğimiz gibi, modülleri yönetmek için çekirdek 'modutils' denilen küçük programları kullanmaktadır. Bu prgramlar aşağıdakiler
insmod (modül yüklemek için),
rmmod  (modül kaldırmak) ve 
lsmod  (kullanılmakta olan tüm modülleri göstermektedir)

gibi başkalarını da içermektedir. 'man lsmod' gibi komutlarla, çeşitli programlarının nasıl çalıştığını öğrenebilirsiniz. Ama ben burada bu konuya girmeyeceğim.

'modutils'in derlenmesi ve yüklenmesi kolaydır. Yapmanız gereken:

cd /usr/src
cp ~/modutils-2.4.6.tar.bz2 . ( assuming that the file sits in your )
                              ( home directory, '~'                 )
bzip2 -d modutils-2.4.6.tar.bz2 ( unzip: this may take a while      )
tar -xvf modutils-2.4.6.tar
cd modutils-2.4.6 ( go to the directory in which 'modutils' have    )
                  ( just been unpacked                              )
./configure (find system-specific configurations                    )
make ( compile 'modutils': since it is small the compilation can be )
     ( surprisingly fast                                            )
make install (install 'modutils' in the directory '/sbin/'          )

dir. 'modutils'in çalışır duruma getirilmesi için gereken herşey bu kadardır. Buradaki 'modutils'in sürüm numarası çekirdek sürüm numarası ile aynı çıktı, ancak bunun herzaman böyle olmayacağı konusunda sizin dikkatinizi çekmek istiyorum.

Çekirdek düzgün çalışmakta mıdır?

Yeni çekirdeğiniz, yapılandırıldı, derlendi ve belkide lilo aracılığı ile yüklendi. Bilgisayarınızı yeniden başlattınız ve kendinize şu soruyu soruyorsunuz: Çekirdeğin düzgün çalıştığını nasıl öğrenebilirim? Çalışmayan donanımı, kullanmayı denemeye kalkıştığınızda hemen fark edeceksiniz. Bunun dışında, sistemin açılışı sırasında bir sürü yararlı mesajı henüz grafik ekrana geçmeden çekirdek ekranda görüntülemektedir. Bu mesajlar bağlantı noktları, kesmeler vs. gibi çeşitli yapılandırma bildirimleri olabileceği gibi, çekirdek tarafından aygıt sürücüleri modül veya çekirdeğin parçası olarak ilklendirilirken (initialization) oluşan sorunlar gibi hatalar da olabilir. Bu mesajlara dikkat etmekle, oluşabilecek çeşitli sorunlar öncesinde bir uyarı elde etmeniz olasıdır. SuSE'de mesajları izlemek kolaydır: Her mesajdan sonra ekranın sağ tarafına, herşey yolunda ise yeşil renkte 'done' (tamam) ve sorun oluşmuşsa kırmızı renkle 'failed' (olmadı veya sorun oluştu) yazısı yazılmaktadır. Yazılar sistemin açılışı sırasında oldukça hızlı geçtikleri için, giriş ekranı üzerinde bunları görebilmek olasıdır. Eğer, otomatik olarak grafik giriş ekranına giriyorsanız, metin ekranına veya giriş ekranına geçmek için '<Ctrl>+<Alt>+F1' tuş kombinasyonunu kullanabilirsiniz. Böylece, eğer bu mesajlar sizin için önemliyse, nerelerde sorunlar oluşabileceği konusunda bir ipucu elde etmiş olursunuz. 'Cannot find module' (Modül bulunamıyor) veya 'Cannot load module' (Modül yüklenemiyor) gibi mesajlar, gereksinim duyacağınız bazı kısımları çekirdeğe eklemediğiniz anlamına gelmektedir. Çekirdek yapılandırmasını düzeltmekle ve çekirdeği yeniden derlemekle genelde sorun çözülmektedir. Eğer, sadece bazı modülleri unuttuysanız, 'make modules' ve 'make modules_install' komutlarını çalıştırmanız yeterli olacaktır. Çekirdeği yeniden derlemek zorunda kalsanız da sorun olmaz. Çünkü çekirdeğin büyük bir kısmı derlenmiş durumda ve sadece eksik olan kısımların eklenmesi ve derlenmesi gerekecektir. Sonuç olarak, çekirdeği sıfırdan yapılandırıp derlemektense, bazı ufak değişiklikler yapmak daha hızlı ve kolaydır. Ondan sonra, keyifle bir fincan kahve içebilirsiniz.

Çekirdeğin sistem açılış mesajlarını incelemenin bir başka yolu 'dmesg' komutunu kullanmaktan geçer. Bu komutu çalıştırmakla, daha sistemin açılışı sırasında geçip giden mesajlar tekrar ekrana gelmektedir. 'dmesg > temp' komutuyla ise, mesajlar temp dosyasına yönlendirilmekte ve bu dosyayı istediğiniz bir metin işlemcisiyle veya 'more temp' ile rahatça görebilirsiniz.

Sonuç

Bu rehber yazı elinizde olduğunda çekirdek ile ilgli deneylerinizi oldukça duyarlı bir şekilde yapabilirsiniz. Umarım, çekirdek ile oynamaya başlamak için olan çıtanın seviyesini yetrince alçaltabilmişimdir. Zamanınızın büyük bölümünü, hangi yapılandırmanın çekirdeğiniz için en uygunu olduğunu yapmakla geçireceksiniz. Derleme sırasında 'freecell' oyununu oynayabilir veya başka bilgisayar işleriyle uğraşabilirsiniz.

Eğer, hala sorunlarla karşılaşıyor ve ne yapak gerektiğini bilmiyorsanız, konuyla ilgili soru sorabileceğiniz birçok e-ileti listesi ve sanaldoku yöresi vardır. Bunlar sadece İngilizce dilinde olmayıp birçok başka dilde de vardır. Kabul edilebilir kısa zamanda da, sorununuzu çözecek cevaplar elde etmeye başlarsınız. Bu tür yerleri bulmanın en iyi yolu arama motorlarıdır.