Çekirdek derleme (uçbirim üzerinden): Revizyonlar arasındaki fark
Screenshot (mesaj | katkılar) |
Değişiklik özeti yok |
||
132. satır: | 132. satır: | ||
Açılan sayfada ### BEGIN /etc/grub.d/10_linux ### satırını buluyoruz ve 1 satır altına şunu ekliyoruz. | Açılan sayfada ### BEGIN /etc/grub.d/10_linux ### satırını buluyoruz ve 1 satır altına şunu ekliyoruz. | ||
{{uçbirim| | |||
menuentry 'Ubuntu, Linux 2.6.33.3-generic' --class ubuntu --class gnu-linux --class gnu --class os | <nowiki>menuentry 'Ubuntu, Linux 2.6.33.3-generic' --class ubuntu --class gnu-linux --class gnu --class os | ||
recordfail | recordfail | ||
insmod ext2 | insmod ext2 | ||
140. satır: | 140. satır: | ||
linux /boot/vmlinuz-2.6.33.3-generic root=UUID=57a40b28-08a8-4fe5-ba57-7fb4fc063d83 ro quiet splash | linux /boot/vmlinuz-2.6.33.3-generic root=UUID=57a40b28-08a8-4fe5-ba57-7fb4fc063d83 ro quiet splash | ||
initrd /boot/initrd.img-2.6.33.3-generic | initrd /boot/initrd.img-2.6.33.3-generic | ||
menuentry 'Ubuntu, Linux 2.6.33.3-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os | menuentry 'Ubuntu, Linux 2.6.33.3-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os | ||
recordfail | recordfail | ||
insmod ext2 | insmod ext2 | ||
149. satır: | 149. satır: | ||
linux /boot/vmlinuz-2.6.33.3-generic root=UUID=57a40b28-08a8-4fe5-ba57-7fb4fc063d83 ro single | linux /boot/vmlinuz-2.6.33.3-generic root=UUID=57a40b28-08a8-4fe5-ba57-7fb4fc063d83 ro single | ||
echo 'Loading initial ramdisk ...' | echo 'Loading initial ramdisk ...' | ||
initrd /boot/initrd.img-2.6.33.3-generic | initrd /boot/initrd.img-2.6.33.3-generic</nowiki> }} | ||
} | |||
} | |||
Eklediğimiz satırdaki 57a40b28-08a8-4fe5-ba57-7fb4fc063d83 kısmını ve set root='(hd0,6)' kısmını ubuntunun kurulu olduğu bölüme göre değiştirmeniz gerekiyor. Mevcut kernelinizin olduğu satırlara bakıp gerekli değişikliği yapabilirsiniz. Yada şu komutla öğrenebilirsiniz. | Eklediğimiz satırdaki 57a40b28-08a8-4fe5-ba57-7fb4fc063d83 kısmını ve set root='(hd0,6)' kısmını ubuntunun kurulu olduğu bölüme göre değiştirmeniz gerekiyor. Mevcut kernelinizin olduğu satırlara bakıp gerekli değişikliği yapabilirsiniz. Yada şu komutla öğrenebilirsiniz. |
00.23, 26 Mayıs 2010 tarihindeki hâli
Ubuntu'da Çekirdek (Kernel) Derleme
KONSOLDAN ÇEKİRDEK KURULUMU
Derleme için gerekli paketleri kuruyoruz.
sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev wget libncurses5 libncurses5-dev
Derleme işlemini gerçekleştireceğimiz dizine geçiyoruz
cd /usr/src
Yapacağımız işlemler için root yetkilerine ihtiyacımız olacak. Root yetkilerini alıyoruz.
sudo -s
www.kernel.org adresinden en son "stable" sürümüne bakıyoruz. Ben bu yazıyı oluştururken 2.6.33.3 sürümü vardı. Ben anlatımı bu çekirdek sürümü için yapacağım. Şimdi bu çekirdeği indiriyoruz.
wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.3.tar.bz2
linux-2.6.33.3.tar.bz2 isimli indirdiğimiz çekirdeği arşivden çıkartıyoruz
tar xjvf linux-2.6.33.tar.bz2
Kerneli açtığımız dizine geçiyoruz
cd linux-2.6.33.3
Eski ayarları temizliyoruz
make mrproper
Konfigürasyon menüsüne geçiyoruz. Burada sisteminizin ihtiyaçlarınıza göre gerekli modülleri ekleyip çıkartabilirsiniz. Bu adımda çok dikkatli olmanızı öneriyorum. Herşeyi kernel çekirdeğine dahil ederseniz çekirdek şişer ve sistem açılışı gecikir. Derleme süresi uzar. Bazı durumlarda hata vermesi muhtemeldir. "*" Simgesi kernel çekirdeğine dahil edilecek öğeleri işaret ediyor. "M" harfi özelliğin modül olarak derlenmesi gerektiğini belirtiyor. "------>" Ana kategori olduğuna işaret ediyor. Enter tuşuna basarak alt bölümlere geçebiliriz. İşlemimizi bitirdikten sonra klavyeden yön tuşlarını kullanarak exit üzerine gelip entere basıp yaptığımız değişiklikleri yapılandırma dosyasına kaydediyoruz.
make menuconfig
Modüllerin bağımlılıklarını ve gerekli olan dosyaların yerinde olup olmadığını kontrol ediyoruz
make dep
Yapılandırma dosyasında kullanılmayan fazlalıkları temizliyoruz
make clean
Çekirdek imajını derliyoruz.
make bzImage
Modülleri derliyoruz.
make modules
Çekirdek Modülü olarak işaretlediğimiz modülleri /lib/modules dizini içine yüklüyoruz
make modules_install
Kök dosya sisteminin bağlanabilmesi için gerekli çekirdek modülleri, Kök dosya sisteminde bulunan; ancak bu DS bağlanmadan önce yüklenmesi gereken modüller için initrd isimli paketimizi oluşturuyoruz.
mkinitramfs 2.6.33.3 -o /boot/initrd.img-2.6.33.3-generic
Çekirdek imajını /boot dizinine kopyalıyoruz
cp /usr/src/linux-2.6.33.3/arch/i386/boot/bzImage /boot/vmlinuz-2.6.33.3-generic
System.map dosyasını /boot dizinine kopyalıyoruz
cp System.map /boot/System.map-KERNEL_VERSION
Sembolik bağ oluşturuyoruz.
ln -s /boot/System.map-KERNEL_VERSION /boot/System.map
/usr/src dizine geçiyoruz
cd ..
www.kernel.org adresinden indirdiğimiz linux-2.6.33.3.tar.bz2 arşivini siliyoruz.
rm linux-2.6.33.3.tar.bz2
Buraya kadar sorunsuz işlemleri gerçekleştirdiyseniz derlediğimiz çekirdeği kullanmak için grub/grub2'e eklememiz gerekiyor.
Grub için /boot/grub/menu.lst Grub2 için /boot/grub/grub.cfg dosyalarını kullanacaksınız. Grub versiyonunu öğrenmek için aşağıdaki komutu kullanabilirsiniz.
dpkg -l
DERLENEN ÇEKİRDEĞİN GRUB2'e EKLENMESİ
Grub2 ayar dosyamızın yedeğini alıyoruz.
sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.yedek
Yaptığımız değişikliklerin aktif olması için yazma izni alıyoruz.
sudo chmod +w /boot/grub/grub.cfg
Grub2 ayar dosyamızı açıyoruz.
sudo gedit /boot/grub/grub.cfg
Grub2 ayar dosyamızı açıyoruz.
sudo gedit /boot/grub/grub.cfg
Açılan sayfada ### BEGIN /etc/grub.d/10_linux ### satırını buluyoruz ve 1 satır altına şunu ekliyoruz.
menuentry 'Ubuntu, Linux 2.6.33.3-generic' --class ubuntu --class gnu-linux --class gnu --class os recordfail insmod ext2 set root='(hd0,6)' search --no-floppy --fs-uuid --set 57a40b28-08a8-4fe5-ba57-7fb4fc063d83 linux /boot/vmlinuz-2.6.33.3-generic root=UUID=57a40b28-08a8-4fe5-ba57-7fb4fc063d83 ro quiet splash initrd /boot/initrd.img-2.6.33.3-generic menuentry 'Ubuntu, Linux 2.6.33.3-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os recordfail insmod ext2 set root='(hd0,6)' search --no-floppy --fs-uuid --set 57a40b28-08a8-4fe5-ba57-7fb4fc063d83 echo 'Loading Linux 2.6.33.3-generic ...' linux /boot/vmlinuz-2.6.33.3-generic root=UUID=57a40b28-08a8-4fe5-ba57-7fb4fc063d83 ro single echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-2.6.33.3-generic
Eklediğimiz satırdaki 57a40b28-08a8-4fe5-ba57-7fb4fc063d83 kısmını ve set root='(hd0,6)' kısmını ubuntunun kurulu olduğu bölüme göre değiştirmeniz gerekiyor. Mevcut kernelinizin olduğu satırlara bakıp gerekli değişikliği yapabilirsiniz. Yada şu komutla öğrenebilirsiniz.
sudo blkid
Yaptığımız değişiklikleri güncelliyoruz.
sudo update-grub2