apt-get install kernel-source-2.6.10 komutuyla 2.6.10 için debian a göre patchlenmiş sürümü indirin. (bootsplash için bu sürümde bir sorun vardı vesafb.c dosyasının orjinali ile değiştirmek gerekiyordu diye hatırlıyorum belki düzeltilmiştir.) daha sonra
cd /usr/src tar xjf kernel-source-2.6.10 ln -s kernel-source-2.6.10 linux cd linuxkomutlarını vererek kernel-source paketini açın linux ismiyle bir symlink yaratın ve içine girin.
şimdi gelelim patch leri uygulamaya.bootsplash için www.bootsplash.de adresinden kernelinize uygun patch dosyasını çekin .diff uzantılı olacaktır daha sonra /usr/src/linux dizinin içindeyken
patch -p1 < bootsplash..diff komutuyla patch i uygulayın. başka uygulamak istediğiniz patch varsa aynı bu şekilde uygulayın.
Şimdi En zor ve saç baş yolduran kısım 'config' isterseniz cp /boot/config-2.6.8-386 .config make oldconfigkomutlarını vererek daha önce kullandığınız kernel konfigurasyonun uygulanmasını sağlayabilirsiniz. Ya da
make menuconfig (framebuffer) make xconfig (qt) make gconfig(gtk)komutlarından herhangi biri ile kernel konfigurasyonuna başlayabilirsiniz. bunların her biri çalışabilmek için bazı kütüphanelere ihtiyaç duyarlar hatırladıklarımı yazıyım menuconfig ---- libncurses5-dev
xconfig ----- libqt3-mt-dev gconfig ---- libgtk2.0-devKernel konfigurasyonu kernel derlemenin %85 i dir diyebilirim. kernel config yaparken bazıların modül bazılarını da built-in olarak derleyebiliriz. Module olarak derlediğinizde siz istediğiniz zaman kernele dahil olur istemediğiniz zaman dahil olmaz built-in ise kernel açıldığından itibaren yüklenir(kötü bir cümle oldu) kernel konfigurasyonunu yaparken dikkat etmeniz gerekenler "help" bölümleri her opsiyonun help bölümünde ne işe yaradığı yazar öncelikle burda "if unsure say y" "if unsure say n" "if u dont know what it is you dont need it" gibi kalıplara dikkat edin ve açıklamaları düzgün okuyun. Konfig de insanların takıldığı bir diğer nokta ise initrd.img kullanmamalarından dolayı oluşan sorunlar ; initrd.img kullanmak istemiyorsanız bazı bölümleri built-in olarak derlemeniz gerekiyor. Mesela kullandığınız dosya sistemini builtin olarak derlemeniz gerekiyor. ya da ide-generic ide host controllerlar gibi. builtin olarak belirlerken dikkat etmeniz gereken nokta builtin derlemek istediğiniz bölümün üst bölümlerini de builtin derlemeniz gerekiyor mesela ses kartınız alsa modülünü builtin yapacaksınız. bunun için sound-card-support u da builtin olarak işaretlemeniz gerekiyor aksi halde sadece modül olarak işaretleyebilirsiniz. config olayı bazen çıldırtıbilir. emin olmadığınız yerler ile oynamayın.
config bölümünü hallettikten sonra make-kpkg --append-to-version=-kernelversiyonu buildpackage -rev Custom.1 kernel_image komutu ile kernel-headers kernel-source ve kernel-image paketlerini oluşturabilirsiniz eğer initrd.img kullanacaksanız. (açılışta unable mount root gibi bir hata alıyorsanız initrd.img kullanmamanızdan kaynaklanır)
make-kpkg --initrd --append-to-version=-kernelversiyonu buildpackage -rev Custom.1 kernel_image
komutunu verin bu sefer kerneliniz initrd.img ile birlikte oluşacaktırbu arada config de filesystemsde compressed rom file system (cramfs) mutlaka builtin olmalı.
umarım düzgün anlatabilmişimdir. pencuse wrote:
Ben de tam bu iş üzerinde çalışıyordum. Oğuz'la hemen hemen aynı durumdayız. Ben de daha önce hiç kernel derlemememiştim. Ancak benim sebebim daha keyfice, canım debian boot ederken hareketli bootsplash görmek istedi. Allem ettik, kallem ettik, hala bir kerneli doğru dürüst derleyemedim. Bahse konu dökümanlarda geçen tüm yönergeleri teker teker, harmanlayarak, üzerine katarak denedim, ancak muvaffak olamadım. En son make-kpkg --revision=blabla kernel-image komutunu saatlerce bekledikten sonra, Error 2 mesajıyla ansızın komut satırında beni yapayalnız bırakan bir beraberliğimiz oldu. Benim de aklımda sorularım var: 1. Size sorunumu daha iyi anlatabilmem için, nereden log bulup, neyi göndermem gerekiyor? Yani en sonda bir mesaj çıkmıştı ama ben sabahın 05:30'unun gerginliği ile bilgisayarın fişini çektiğimden, yeniden o mesaja nası ulaşırım bilmiyorum. 2. Ben de kernel'im hem küçük olsun, hem de sadece benim ihtiyacım olan donanımı desteklesin, hafiflesin, daha hızlı daha verimli çalışsın, çok güzel olsun istiyorum. Ama make xconfig ettiğimde, bir ton paremetre çıkıyor. Şimdi, hiç kaçar yolu yok, bilgisayarımın donanımının tüm detaylarını öğrendikten sonra, o listede sadece onları bırakıp, diğerlerini teker teker kaldıracak mıyım? yoksa daha kestirme bir yolu var mı? Bu kernel sadece tecrübesi olmayanlara mı bu kadar karmaşık geliyor? 3. cp /boot/config-2.6.8-2-686 /usr/src/.config olarak kopyaladığımda, yukarıdaki soruma çözüm olabilir mi? Yoksa, şimdiki config dosyasında da donanımımın aslında hiç ihtiyacı olmayacak bir sürü parça yüklü olması olası mı? 4. bir de şu patchler konusu kafamı karıştırıyor. 2.6.10 ile başladım, kernel derleme sevdasına, sonra, malumunuz 2.6.11.4 çıktı. Ben en son, 2.6.11.3 source'nu indirmiştim. Şimdi, sadece 2.6.11.4'ün patchini indirsem, sonra /usr/src/patch -p1 <2.6.11.4.yaması komutunu versem, sonra, make mrproper/make xconfig/make-kpkg desem 2.6.11.4 mü olacak, daha bunun debian spesific yamaları yok mu? Nerden bulurum, nasıl yaparım.. Gördüğünüz üzere bu kernel konusunda oldukça karmaşığız.