29 Eylül 2017 Cuma

Linux Kernel Derleme

       LINUX KERNEL DERLEME
VIRTUAL BOX KURULUMU



Virtual box(Sanal Makine) ı indirmek için www.vitualbox.org sitesine girip en son sürümünü indiriyoruz ve kuruyoruz.
LINUX KURULUMU

Virtual Box a girip Linux u kurmak için “Yeni” ye basıyoruz. Açılan pencerede Linux u seçiyoruz ardından sürümünü seçiyoruz.

Sanal makinemizi oluşturduk sıra işletim sistemini kurmakta.
“Ayarlar” a girip “Depolama” kısmında “Optik Sürücü Ekle” kısmına giriyoruz. İso dosyamızı seçip kurulumu başlatıyoruz.


Adımızı ve Bilgisayar adımızı ve şifremizi yazıp giriyoruz.

KERNEL DERLEMESI

www.kernel.org sitesine girip en güncel sürümünü indiriyoruz.

Terminalimizi açıyoruz.

Terminalde “ sudo –i “ komutunu yazıp admin olarak çalışmaya başlıyoruz.

“ cp /home/terzi/Downloads/Linux-4.13.3.tar.xz /usr/src “ komutu ile dosyamızı
usr src dizinine kopyalıyoruz. Dosyanın dizinini kendinize göre yazın.
 
“ cd /usr/src “ kodunu yazarak usr src dizininde işlem yapmak amacıyla içine giriyoruz.

“ tar –xJvf Linux-4.13.3tar.xz “ Komutunu yazıyoruz. !! tar –xJvf kısmı sizin dosyanızın uzantısına göre değişmektedir dikkat edin !!

Oluşan linux-4.13.3 klasörüne girmek için “ cd linux-4.13.3 ” komutunu yazıyoruz.



Eski ayarları temizlemek için “ make mrproper “ komutunu yazıyoruz.

Grafik arayüzümüzü oluşturmak ve ayar yapmak için “ make menuconfig “ komutunu yazıyoruz.

curses.h kütüphanesi olmadığı için hata aldık. “ sudo apt-get install libncurses-dev “ komutunu yazıp bu kütüphaneyi indiriyoruz.

“ y ” yazıp devam ediyoruz.


Kütüphanemiz eklendi.Tekrardan “ make menuconfig ” yazıyoruz.

Açılan pencerede “ Save “ butonuna basıyoruz.

.config olduğundan emin olup “ Ok “ seçeneğine basıyoruz

“ Exit “ seçeneğine basıp çıkış yapıyoruz.
Çekirdek imajını derlemek için “ make bzImage “ komutunu yazıyoruz.

Kütüphane eksikliğinden kaynaklanan hata aldık. Kütüphaneyi indirmek için “sudo apt-get install libssl-dev “ komutunu yazıyoruz.

“ y “ yazıp devam ediyoruz.

Kütüphanemiz yüklendi. Tekrardan “ make bzImage ” yazıyoruz. Bu işlem süresi bilgisayarınızın performansına göre değişir. Ortalama 30 dakika…




Sıra geldi modülleri derlemeye. “ make modules “ komutunu yazıyoruz. En uzun kısmı burası.
Yaklaşık 3 saat kadar sürüyor. Bilgisayardan bilgisayara değişebilir süresi.

Oh be bitti dediğinizi duydum J Sıra modülleri yüklemekte. “ make modules_install “ komutunu yazıyoruz.

Modüllerimizi yükledikten sonra sıradaki işlemimizi yapıcaz. Kök dosya sisteminin bağlanabilmesi için gerekli çekirdek modülleri yüklenebilmesi için “initrd” isimli paketimizi oluşturuyoruz. Bunun için “ mkinitramfs 4.13.3 –o /boot/initrd.img-4.13.3-generic” komutunu yazıyoruz.

Sıra çekirdek imajını boot dizinine kopyalamakta.
“ cp /usr/src/linux-4.13.3/arch/x86_64/boot/bzImage /boot/vmlinux-4.13.3-generic ” komutunu yazıyoruz.





System.map i boot dizinine kopyalıyoruz
à “ cp System.map /boot/System.map-KERNEL_VERSION ”.

Oluşturduğumuz map dosyasını system.map ile bağ oluşturuyoruz
à” ln –s /boot/System.map-KERNEL_VERSION /boot/System.map ”.

Çekirdeği sorunsuz kullanabilmek için grub2 ayarlarını yapmalıyız. Önce izini alıyoruz
à” sudo chmod +w /boot/grub/grub.cfg ”


à” sudo gedit /boot/grub/grub.cfg ”







Açılan pencerede” ### BEGIN /etc/grub.d/10_linux ### “ yazan yerin hemen altına şu komutları yapıştırıyoruz.


menuentry 'Ubuntu, Linux 3.16.5-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-3.16.5-generic root=UUID=57a40b28-08a8-4fe5-ba57-7fb4fc063d83 ro   quiet splash
    initrd    /boot/initrd.img-3.16.5-generic
}
menuentry 'Ubuntu, Linux 3.16.5-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 3.16.5-generic ...'
    linux    /boot/vmlinuz-3.16.5-generic root=UUID=57a40b28-08a8-4fe5-ba57-7fb4fc063d83 ro single
    echo    'Loading initial ramdisk ...'
    initrd    /boot/initrd.img-3.16.5-generic
}



Yeni terminal açıp “ sudo blkid ” komutunu yazıyoruz.






Sıra grub 2 ayarlarını güncellemekte. “ sudo update-grub2 ” yazdıktan sonra “ reboot ” yazıp sistemimizi resetliyoruz.


Sıra bizi en heyecanlandıran yerde ! Derlediğimi çekirdeği görelim. “ uname -r ” yazarak kernel sürümümüzü öğreniyoruz.

Hiç yorum yok:

Yorum Gönder