İpucu Cekirdek derlemek hic bu kadar kolay olmamıştı

Sponsorlu Bağlantılar

MUSTAFA AKPINAR97

MUSTAFA AKPINAR97

Üye
    Konu Sahibi
Cekirdek derlemek hic bu kadar kolay olmamıştı
Çekirdek Derlemek Hiç Bu Kadar Kolay Olmamıştı!Sonunda biri yapacağını yapmış ve ortalama Linux kullanıcısının korkulu rüyası olan çekirdek (kernel) derleme işlemini çocuk oyuncağına çevirmiş!!Ubuntu altında geçmiş birkaç başarısız denemeden sonra çekirdek derlemeyi bir kez daha denemeye karar verdim ve şu bağlantıdakiadımları uygulamaya başladım.Derken, gördüm ki bu satırların yazarı, Ubuntu/Debian tabanlı dağıtımlarda kullanılmak üzere, çekirdeği otomatik olarak derleyen bir program yazmış: KernelCheck Project

Kurulum

Ben de KernelCheck programının *.deb paketini indirerek kurdum ve "Atıl Kurt!" komutuyla programa yeni çekirdeği indirip derleme komutu verdim. (Bu arada *.deb paketi, bağımlılık olarak Python 2.4'ü de kuruyor, ancak kurulumu ve kaldırılması yine çok kolay olan *.tar.gz Python paketi hali hazırda kurulu olan 2.5 ile de çalışıyor olabilir.)Kurulumda konfigürasyon aşamasında dikkatli olmak gerekiyor. Ben, mevcut Ubuntu çekirdeğinin ayar dosyasını (/boot/config-...) başlangıç olarak kullandım (ama zaten program halihazırda kullanılan çekirdeğin ayarlarını zaten otomatik olarak alıyor) ve buna ALSAses ve Wireless modüllerini ekledim.Konfigürasyon dosyasında kutuların içi boşsa "yükleme", nokta varsa "modül olarak yükle", OK işareti varsa "çekirdeğe gömülü olarak yükle" anlamına geliyor. Temel mantık olarak temel sistem ve sabit disk sürücüleri çekirdeğe gömülü olmalı, çevre birimlerin sürücüleri ise modül yani harici olarak derlenmeli.Ayarlar arasında en çok sorun çıkartan ALSA ve Wireless (kablosuz ağ) gruplarıyla, sistem optimizayonu ile en çok ilgili olan Processor type (işlemci mimarisi) dikkatimi çekti. Sisteminizde ses ve kablosuz bağlantı istiyorsanız, her iki grubu da ziyaret edip en azından kendi donanımınıza ait modülleri yüklettirmelisiniz. Ben yine de, "fazla modül göz çıkarmaz" prensibi gereği bütün modülleri derlettirdim.İşlemci mimarisi olarak da kendi işlemci grubunuzu seçebilirsiniz, ancak varsayılan olarak x86/i586/i686 olarak bıraksanız da pek bir performans farkı olacağını sanmıyorum. Zira komple bir performans arttırımı için sistemde kullanılan diğer paketlerin de bu mimariye göre derlenmiş olması gerekiyor.Çekirdek derleme seçenekleri için şu belge de bir fikir verecektir: Kernel Configuration - Useful/Performance TipsAyarlamalarımızı yaptıklan sonra çekirdek derlenmeye başlıyor ve işlemcinin hızına bağlı olarak rahat 3-4 saat sürüyor. Uzun bir bekleyişin ardından yeni çekirdek *.deb paketleri olarak derlendi ve kuruldu, ayrıca Grub menüsüne de otomatik olarak eklendi.

Kurulum sonrası

Kapalı kaynak kodlu ekran kartı sürücüsü (NVidia, ATI, vb.) kurduysanız, büyük ihtimalle masaüstü açılırken X server hatası ile karşılaşacaksınız. Bu durumda hiç bir ayar yapmadan devam tuşuna basın; sürücüyü Ek Sürücüler'den etkinleştirmediyseniz, uçbirimdensudo dpkg-reconfigure -phigh xserver-xorgkomutu ile, daha önce Ek Sürücüler ya da el ile kurduysanız, elle ekran kartı sürücünüzü yeniden kurun ve yapılandırın.Artık Ek Sürücüler işimize yaramayacak, zira bu aracın çalışması için gerekli nvidia-glx, vb. paketler "linux-restricted-modules"a bağımlı ve bu modül paketini de Ubuntu, kendi yayınladığı çekirdek sürümleri için sağlıyor. Ancak bu ciddi bir sorun değil, zira bu pakette bulunan NVidia, Ati ekran kartı sürücüleri elle, Atheros WiFi sürücüsü ise forumda açıklaması bulunan Madwifi kurulumu ile kolaylıkla derlenip, modül olarak yüklenebiliyor.Olur da gerekirse diye, "linux-restricted-modules" paketinin elle derlenen çekirdekler için nasıl derleneceği, şu makalede anlatılmış: çekirdeği kullanırken bu paketten ve yine Ubuntu çekirdeği için hazırlanan ek modüllerin olduğu "linux-ubuntu-modules" desteğinden mahrum olduğumuz için, yukarıdaki çekirdek ayarları aşamasında seçili ağ modüllerine bir göz atmamız ve ses desteğini veren ALSA modüllerini seçmemiz daha bir önem taşıyor.Bilgisayarınızı yeniden başlattıktan sonra yüklü çekirdek sürümünü kontrol etmek için konsoldanuname -rkomutunu, çekirdek hakkında daha detaylı bilgi içinseuname -akomutunu girebilirsiniz. Bu aşamada bütün donanımlarınızın düzgün tanındığından (ses, ekran, internet, kamera, güç koruma desteği, uyku modu, vb.) emin olun. Her şey tamamsa, artık yeni çekirdeğin kaynak dosyalarını silebilirsiniz.Çekirdek derlenirken kaynak dosyalar "/usr/src/linux-2.6.25" içine açılıyor, ve sıkı durun, bu klasörün toplam boyutu 2.1 GB!! Dolayısıyla bu klasörü silmemiz menfaatimiz icabına olacaktır.Alt+F2sudo nautilus /usr/srcile Linux kaynak klasörünü açalım. Bu klasörün içindeki yukarıdaki 2.1 GB boyuntundaki kaynak klasörü ile, kernelcheck programının indirdiği "*.tar.bz2" arşiv dosyalarını Shift+Del ile silebilirsiniz. "*.deb" (~20 MB image & ~10 MB headers) kurulum dosyalarını ise sonradan yüklemek üzere yedekleyebilirsiniz.

Dönüş yolculuğu

Eğer sisteminiz bütün donanımlarla birlikte düzgün çalışıyorsa, görev başarıyla tamamlanmıştır. Artık Ubuntu'nun orijinal çekirdeğine dönme zamanı geldi. Hardy'de donma veya kablosuz ağa bağlanma problemleri yaşıyorsanız ve yeni derlediğiniz bu çekirdekle çözülüyorsa yeni çekirdeği (eskisini silmemek şartıyla) bir süre daha kullanabilirsiniz.Ama sisteminizden memnunsanız, Ubuntu/Linux Mint'in rahatlık ve güvenlik şemsiyesinden çıkmamanızı şiddetle tavsiye ederim. Ne de olsu Ubuntu geliştiricileri çekirdek yamalarını dikkatle takip ediyor ve aralıklarla çekirdeği ve modül paketlerini güncelliyorlar. Öbür türlü, sizin yamaları kernel.org'dan takip etmeniz gerekir.Dönüş biletini almak için yapmanız gereken işlemler:4.1. Eski çekirdeği silmediğinizden emin olun. Sildiyseniz Grub menüden eski çekirdekle ilgili satır da silinmiş olacaktır. Bu durumda Synaptic Paket Yöneticisi'nden çok basit bir işlemle, "linux" meta-paketini seçerek ya da konsoldan:sudo apt-get install linuxkomutuyla Ubuntu depolarındaki son güncel çekirdeği tekrar yükleyebilirsiniz. (Ubuntu rahatlığı derken kastettiğim buydu.) Ekstra modül derlemek için "linux-headers-generic" paketini de yüklemeniz gerekebilir.4.2. Sistemi Grub menüden eski çekirdeği seçerek yeniden başlatın. Gerekiyorsa ekran kartı sürücülerini tekrar kurun.4.3. Yine Synaptic Paket Yöneticisi'nden, solda "Kurulu (yerel ya da eski)" bölümünde bulabileceğiniz elle derlediğiniz 2 çekirdek paketini (image & headers) sistemden kaldırın. Bu çekirdeğe ait bütün kalıntıları "/usr/src" dizininden silin.4.4. Son bir kontrol için sistemi yeniden başlatın. Ve kernelcheck programını, bağımlılıklarını ve ilgili çekirdek derleme paketlerini aşağıdaki komutla sistemden kaldırın:sudo apt-get autoremove kernelcheck kernel-package libncurses5-dev libqt3-headers

Sonuç

İşlem tamam! Kendinizi tebrik edin; artık siz de, Linux'te çekirdek derleyen mutlu azınlık arasındasınız.Ben gidip biraz daha çekirdek çitleyim (ee.. derleyim)

Ek: Uçbirimden çekirdek derleme

Biraz otomatik de olsa, biz de bir Linux çekirdeği derlemiş olduk. Merak eden arkadaşlar için, kernelcheck programının yaptığı işlemlerin konsoldaki karşılığı şöyle:1. Derleme için gerekli paketler kurulur:sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev wget libncurses5 libncurses5-dev2. Kaynak dizinine gidilir:cd /usr/src3. Root yetkilerini alın:sudo -s4. Çekirdek kaynak kodu yüklenir ve açılır:wget -c && tar -xvjf linux-2.6.25.tar.bz25. Bu dizinde bulunan "linux" adındaki kısayol kaldırılarak yeni kaynağın bulunduğu klasöre yönlendirilir ve "linux" klasörü (kısayolu) içine girilir:rm -rf linux && ln -s /usr/src/linux-2.6.25 linux && cd /usr/src/linux6. Son çekirdek yaması indirilir:wget -c yazıyı yazdıktan hemen sonra adresinden patch-2.6.25.10.bz2 yamasını yayınlandı.)7. Yama kaynak dosyasına uygulanır:bzcat patch-2.6.25.9.bz28. Mevcut çekirdek ayarlar dosyası (/boot/config-...) yüklenerek mevcut paketin ayarları alınır:cp /boot/config-`uname -r` .config && make oldconfig9. Bu ayarlardan temel alınarak oluşturulan ayar dosyası açılır ve yapılması düşünülen değişiklikler (eklenecek modüller, vb.) işaretlenir. Modül aramak için Ctrl+F kullanılabilir.make xconfigAynı işlem, konsoldamake menuconfigile de yapılabilir.10. Çekirdek derleme ayarları, en hassas ve hata yapıldığı zaman boşuna derleme yapıldığı için en çok zaman kaybına yol açan bölümdür.Burada ilk dikkat edilmesi gereken, yüklü ağ modüllerine bir göz gezdirmek ve varsayılan olarak seçili olmayan (zira Ubuntu'da başka bir paketin içinde geliyor) ALSA ses desteğini ve ALSA ses modüllerinin PCI için olanlarını seçmektir. Yine 64 bit sistem ve SATA sabit disk desteği buradan yapılır.Seçilen satırlardaki nokta (.) işareti belirtilen donanım sürücüsünün modül olarak derleneceğini (ki çevre donanımlar için tercih edilmesi gereken budur), OK işareti ise sürücünün çekirdeğin içine gömülü olarak derleneceğini ifade eder.11. Nihayet çekirdek derlenir.pwdkomutuyla "/usr/src/linux" dizini içinde olunduğu kontrol edilir. Bu komutlarla sonradan sisteme kurabileceğiniz Debian paketleri oluşturulur.make-kpkg cleanSonra,make-kpkg --initrd --revision=386 kernel_image kernel_headers modules_imageBurada "386" yerine yazılabilecek "k7", "686" gibi mimari isimler sadece bilgilendirme / hatırlatma içindir. Derleme işlemi üzerinde bir etkisi yoktur.12. İşlemci hızına bağlı olarak derleme işlemi 3-4 saat sürer. Bu esnada kahve içilir, TV'de film seyredilir ya da dolaşmaya çıkılır.13. Son olarak yukarıdaki komut tarafından, bir üst klasör olan "/usr/src" içinde oluşturulan 2 adet "*.deb" dosyası (image & header) sisteme kurulur:cd ..dpkg -i linux*2.6.25*.deb14. Bilgisayar yeniden başlatılır ve Grub menüsünden yeni çekirdek seçilir. (Ekran kartının sürücüleri açık kaynaklı değilse, tekrar kurulması gereklidir.)Not: Yukarıda verilen bu adımlar, Ubuntu/Debian tabanlı dağıtımlarda geçerlidir!!! Gercekten çok kolay :D















 
Son düzenleme:


HakanSeven12

HakanSeven12

Üye
Yazı çok uzun :D başını okudum kafam allakbullak oldu bıraktım :)birde bu ubuntu debian gibi sistemler için androidde işe yarayacağını sanmıyorum :)
 
MUSTAFA AKPINAR97

MUSTAFA AKPINAR97

Üye
    Konu Sahibi
  • Beğen
Tepkiler: Metalci Melek

Benzer Konular

    • Beğen
    • Sevdim
Cevap
1
Görüntüleme
1K
MAERKEK
Eren Değerli
Cevap
0
Görüntüleme
541
Eren Değerli


Üst Alt