Adım Adım 2.6.x Kernel Derleme

Linux ve Unix tabanli isletim sistemlerini hep beraber tanıyıp öğreneceğiz.
Cevapla
Kullanıcı avatarı
Kripteks®
Terabyte1
Terabyte1
Mesajlar: 3564
Kayıt: 12 Ara 2006, 12:44
cinsiyet: Erkek
Teşekkür edildi: 3 kez
İletişim:

Adım Adım 2.6.x Kernel Derleme

Mesaj gönderen Kripteks® »

2.6.x Serisi İçin Kernel Derleme:

Kernel Neden Derlenir:

*Yüklediginiz bir paket kernelin son stabil sürümüne ihtiyaç duyuyordur.
*Yeni kernel ile gelen bir sürücü destegi vardır.
*Gereksiz modülleri ve eklentileri kaldırıp sistemi optimal sekle sokmak istiyorsunuzdur.
*Yeni bir güvenlik açıgı çıkmıstır sistemde yetki kazanan kisi bu açıgı sömürerek en yetkili kisi yani root olabilmektedir

*Kernel Derlemeyi ögrenmeye çalısıyorsunuzdur

Bu yazıyı 2.6.x kernel serisi için yazıyorum 2.4.x serisi nin yeniden derlenme islemi ile 2.6.x in yeniden derlenme islemi bir kaç kısımda farklılık göstermektedir su anda www.kernel.org da en stabil sürüm 2.6.13.2 bu yazıyıda ona göre yazacagım.Bu islemleri yaparak birden çok kernel imaj dosyasını barındırabilirsiniz böylece bir sorun oldugunda eski kerneller ile baslatabilirsiniz.Kesinlikle buradaki adımları sırayla ve anlatıldıgı gibi yaparsanız bir sorunla karsılasmazsınız aynı zmaanda bu islemi basarıyla tamamlarsınız.


Kernelin Ana Görevleri:

Kernel genel olarak programlar ve donanımlarınız arasındaki baglantıyı kurar linux isletim sisteminin kalbidir.Bütün programlar için bellek ayarlamasını gerçeklestirir ve islem döngüsünü paylastırır tabi kernele eklediginiz seçeneklere göre yaptıgı görevler artıp azalabilir.

Bu islem için gerekli olanlar versiyonları ile sunlardır


Kod:

o Gnu C 2.95.3 # gcc --version
o Gnu make 3.78 # make --version
o binutils 2.12 # ld -v
o util-linux 2.10o # fdformat --version
o module-init-tools 0.9.10 # depmod -V
o e2fsprogs 1.29 # tune2fs
o jfsutils 1.1.3 # fsck.jfs -V
o reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs
o xfsprogs 2.1.0 # xfs_db -V
o pcmcia-cs 3.1.21 # cardmgr -V
o quota-tools 3.09 # quota -V
o PPP 2.4.0 # pppd --version
o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version
o nfs-utils 1.0.5 # showmount --version
o procps 3.1.13 # ps --version
o oprofile 0.5.3 # oprofiled --version

Bunları gerekli rpm depolarından çekebilirsiniz.

Loadeble Modül Nedir

Bunlar kernele direk olarka baglanmamıs kernel kodlarıdır.İstenildigi zaman kernele sokulup yada çıkartılabilir.Çogu popüler aygıt sürücüleri yüklenebilir kernel modüllerini içerir PCMCIA sürücüleri gibi.Loadeble modül destegini kullanmazsanız kernelinizi boyutu gerçekten çok büyük olur ve gereksiz modülleri istediginiz zaman çıkartamazsınız.


Mevcut Donanımların Ögrenilmesi

Sistemimizle ilgili detaylı bilgi toplamalıyız islemci kontrol kartları grafik kartı vs. bu sayede optimal ayarlar ile kernelin derlenmesini tamamlıyabilelim.


Kod:

/sbin/lspci
komutunu konsolda vererek donanımımız hakkında gerekli bilgiyi ekrana getiriyoruz


Kod:

[root@localhost ~]# /sbin/lspci
00:00.0 Host bridge: Intel Corporation 82845 845 (Brookdale) Chipset Host Bridge (rev 04)
00:01.0 PCI bridge: Intel Corporation 82845 845 (Brookdale) Chipset AGP Bridge (rev 04)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 05)
00:1f.0 ISA bridge: Intel Corporation 82801BA ISA Bridge (LPC) (rev 05)
00:1f.1 IDE interface: Intel Corporation 82801BA IDE U100 (rev 05)
00:1f.2 USB Controller: Intel Corporation 82801BA/BAM USB (Hub #1) (rev 05)
00:1f.3 SMBus: Intel Corporation 82801BA/BAM SMBus (rev 05)
00:1f.4 USB Controller: Intel Corporation 82801BA/BAM USB (Hub #2) (rev 05)
01:00.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX 440 AGP 8x] (rev a2)
02:05.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 50)
02:05.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 50)
02:05.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51)
02:06.0 Ethernet controller: VIA Technologies, Inc. VT6105 [Rhine-III] (rev 8b)
02:0b.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 08)


Ekran kartı,Ses kartı,Sürücü kontrol kartları ile bilgilerin hepsi ekrana çıktı.simdide islemcimizi ögrenelim hyper threading destegi varsa smp kernel destegini açacagız



Kod:

cat /proc/cpuinfo
komutunu veriyoruz konsolda


Kod:

processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.40GHz
stepping : 7
cpu MHz : 2424.306
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid xtpr
bogomips : 4852.62

Böylece islemcimizinde özelliklerini ögrendik.Eger paket bir dagıtım kullanıyorsanız kerneli derlemeniz çok basit yum için yum update kernel çift islemciler için yum update kernel-smp apt-get update kernel gibi ama biz burada kaynak kodundand erlemeyi göstericez.

2.4.x Kernelden 2.6.x e güncelleyeceklerin yapmaları gerekenler


Kod:

cd /usr/local/src/
wget http://www.kernel.org/pub/linux/kern...ols-3.0.tar.gz
tar -zxf module-init-tools-3.0.tar.gz
cd module-init-tools-3.0
./configure --prefix=""
make moveold
make install
./generate-modprobe.conf /etc/modprobe.conf

Kaynak Kodundan Yükleme

www.kernel.org sitesine girerek en son stabil 2.6 kerneli çekicegiz


Kod:

cd /usr/src
yazarak /usr/src dizinine geçiyoruz wget komutuyla en son stabil kernelimizi sistemimize çekicez.Bzip formatlı seklini tercih ederseniz indirirken size kolaylık olur en fazla sıkıstırılmıs seklidir.


Kod:

wget http://www.kernel.org/pub/linux/kern...6.13.2.tar.bz2
komutuyla bzip dosyasını /usr/src dizinine çekiyoruz simdi dosyayı açalım


Kod:

tar xfvj linux-2.6.13.2.tar.bz2



Kod:

cd linux-2.6.13.2
komutunu vererek linux-2.6.13.2 klasörüne giriyoruz daha sonra alttaki komutu veriyoruz


Kod:

make mrproper
bu komut eski ayarların temizlenmesini saglamaktadır ayrıca bazı dosyalar yeniden derlenmeyecegi için bu komutu uygulamazsanız sorunlu kurulum yada hatalı kernele sebep olabilir.

Kernelin Konfigurasyonu

Bu asama sisteminizi iyi tanımanız gereken bir asamadır.Gerekli modülleri buradan ekleyip gereksizleri kaldırabilir gerekli sistemler için destek verip gereksizleri kaldırabilrisiniz.sunudabelirtmek istiyorum kernelin ayarlanması asamasında ayarlarla ilgili bir degisiklik yapmazsanızda sorunsuz olarak yeni kernel çalısacaktır o yüzden çok fazla karıstırmak istemiyorsanız oldugu gibi bırakın bir sorun yasamazsınız.Static olarak ekleyeceginiz özellikler daha hızlı çalısmasına karsın kernelinizin boyutları büyüyecektir dinamik olarak dahil edilen modüller ise birazdaha yavas çalısmasına karsın kernelinizin boyutunun daha küçük kalmasını saglayacaktır.



Kod:

make menuconfig
komutunu konsolda vererek konfigurasyon menusune geçiyoruz

Seçenekler:

Code maturity level options :
Bu seçenek sayesidne alpha durumdaki sürücüleri ve yazılımları yüklemenizi saglıyor stabil bir kernelimiz olacagı için bunun altındaki 2 seçenegi kapatıyoruz.

General Setup

Burdaki seçenekler ile sysctl.conf u aktif hale getirip .config destegi katarak kernele bir daha kerneli derleyeceginiz zaman aynı configi kullanmayı saglayabilrisiniz.Burada benim isaretlediklerim.



Kod:

Support for paging of anonymous memory (swap)
System V IPC
POSIX Message Queues
BSD Process Accounting
Sysctl support
Auditing support
Kernel Userspace Events
Kernel .config support
Bunları Seçtikten Sorna Diger Menuye Geliyoruz

Loadable module support

3. Parti Modüller kuracaksınız bunu açmanızı tavsiye ediyorum benim isaretledigim seçimler sunlardır tabi siz kendi sisteminizi derleyeceginiz için kendi gereksinimlerinizi daha iyi biliyorsunuzdur.


Kod:

Module unloading
Source checksum for all modules
Module versioning support (EXPERIMENTAL)
Automatic kernel module loading

Diger Bölüme Geçiyoruz

Processor type and features

Bu kısım en önemli kısım bu kısımla birlikte topladıgımız bilgileri degerlendiricez cpu hakkında sistem hakkında çok cpu su bulunana sistemler bu destegi kernele buradan katıcak yada fazla ram i olanlar bu destegi buradan katıcak ben kendi sistemime göre seçtiklerimi size aktarıcam sizde kendi seçimlerinizi yapın üstünde m olanlar modül olarak kurulucaklar çogu laptopda m seçenegi var onları kaldırabilrisiniz benim seçtiklerim


Kod:

Generic x86 support
HPET Timer Support
2 yada daha fazla islemciniz varsa Symmetric multi-processing support seçin
Machine Check Exception
(M) /dev/cpu/microcode - Intel IA32 CPU microcode support m olarak yazdıklarım modül olarak seçtiklerimdir.
<M> /dev/cpu/*/msr - Model-specific register support
<M> /dev/cpu/*/cpuid - CPU information support
4 gb tan fazla raminiz varsa bu seçenegi seçin [*] Allocate 3rd-level pagetables from highmem [*] MTRR (Memory Type Range Register) support [*] Use register arguments (EXPERIMENTAL) [*] Enable seccomp to safely compute untrusted bytecode

dger menuye geçiyoruz

Power management options (ACPI, APM)

Bir server için bunları derliyorsanız bu destegin bütün seçeneklerinin isaretini kaldırın ama benim gibi ev bilgisayarları için yapıyorsanız bir kaç seçenek isaretleyebiliriz.İsaretleyecegim seçenekler.Bunları daha öncede belirtigim gibi kendi gereksinimlerinize göre yapmalısınız.
ACPI and CPU Frequency Scaling seçenekleri laptopların güç kullanımını arttırmaktadır.


Kod:[*] Power Management support
ACPI menüsü altından [*] ACPI Support
<*> Fan
<*> Processor
<*> Thermal Zone [*] Power Management Timer Support
APM menüsü altından
<*> APM (Advanced Power Management) BIOS support [*] Make CPU Idle calls when idle
CPU Frequency scaling ---> menüsünden amd ve laptop desteklerini kaldırdım gerekli bilgileri menude iken ? tusuna basarak alabilrisiniz


Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
ISA ve MCA destekleri yeni makinalarda kapatılabilir benim seçtiklerim


Kod:[*] PCI support [*] Legacy /proc/pci interface [*] PCI Express support eski ekran kartım için


Executable file formats

Degisik binaryler kullanmıyorsanız elf destegi dısındkailer kapatılabilir.Kernelin bir çok binary ye desteklemesini saglamaktadır burada olanlar benim seçtiklerim


Kod:

Kernel support for ELF binaries


Networking --->

Burada fazla birseyi degistirmenize gerek yok istemiyorsanız bluetooth destegini filan kaldırabilirsiniz
Ben bu kısımı standart geldigi hal ile bıraktım.

Device Drivers

Gene aynı sekilde burda kullandıgınız donanımlara göre isaretleyin bir sunucu için burdkailerin çogu gereksiz
Sunucu için yapıcagınız ayar:


Kod:

Generic Driver Options -
-- Memory Technology Devices (MTD) - kapayım
-- Parallel port support - kapayın
-- Plug and Play support -kapayın
-- Block devices - kullanmayacagınız bütün aygıtları kaldırın flopy gibi sunucu için bu dediklerim tabiki
-- ATA/ATAPI/MFM/RLL support -SCSI disk kullanıyorsanız hepsini silin sata yada ide kullanıyorsanuz hepsi kalsın
-- SCSI device support - IDE kullanıyorsanız destegi kapatın sata içinde açık kalacak
-- Old CD-ROM drivers (not SCSI, not IDE) - kapatın
-- Multi-device support (RAID and LVM) - RAID kullanmıyorsanız kapatın
-- Fusion MPT device support - SCSI kullanıyorsanız seçili kalsın
-- IEEE 1394 (FireWire) support - Firmware destegi sunuculara gereksizdir kapatın
-- I2O device support - kapatın
-- Networking support - seçilenler oldugu gibi kalsın
---- IrDA (infrared) subsystem support - Sunucuda kızıl ötesine ihtiyacımız yok kapatın.
---- ARCnet devices - Kapatın
---- Token Ring devices - Kapatın
---- Wireless LAN (non-hamradio) - Kapatın
---- Wan interfaces - Kapatın
---- ATM drivers - Kapatın
---- FDDI driver support - Kapatın
---- PPP (point-to-point protocol) support - DSL de kullanılan protokoldür
-- ISDN subsystem - Kapatın isdn ciler açsın
-- Telephony Support - telefon destegi kapatın
-- Input device support - Alt menüsü
---- Joystick interface- Kapatın
---- Mice - Kapatın
--Character devices - Oldugu gibi kalsın
--Misc devices - Kapatın
-- Multimedia devices - Kapatın
-- Graphics support - Serverda GUI çalıstırmayacagız kapatın masaüstü için lazım
-- Sound - Sunucuda oyun oynamıcaz kapatın.Ev sistemleri için gerekli
-- USB support - Sunucuda usb destegi gereksiz ev sistemi için gerekli
-- MMC/SD Card support - Kapatın Sunucu için

Gördügünüz gibi yukardaki degisiklikleri tamamen kendi hitiyaçlarınıza göre yapıcaksınız.

File systems

ev sistemleri için bu ayarlar oldugu gibi kalsın sunucu sistemleri için su sekilde degistirlebilirler.


Kod:

-- Minix fs support - Kapatın
-- ROM file system support - kapatın cdrom destegine gerek yok sunucuda
-- CD-ROM/DVD Filesystems - cd/dvd destegine gerek yok kapatın sunucuda
-- DOS/FAT/NT Filesystems - kapatın
-- Miscellaneous filesystems - Kapatın
-- Network File Systems- Kapatın

Profiling support
Sunucu için kapayın ev bilgisayarları için su seçenekler açık kalsın


Kod:[*] Profiling support (EXPERIMENTAL)
<M> OProfile system profiling (EXPERIMENTAL)



Kernel hacking

Sunucu bilgisyaarları için kkapatın ev bilgisayarları için su seçeenkler açık kalabilir


Kod:[*] Kernel debugging [*] Magic SysRq key
(17) Kernel log buffer size (16 => 64KB, 17 => 128KB) [*] Spinlock debugging [*] Sleep-inside-spinlock checking [*] Highmem debugging [*] Check for stack overflows


Security options

Varsayılan degerler gayet iyi oldukları gibi kalsınlar.Sunucu bilgisayarları için selinux u kapatın centos upgrade lerinde sorun çıkartabiliyor 3.x den 4.x e
Cryptographic options
Varsayılan degerler iyi oldukları gibi kalsınlar
Library routines
Varsayılan degerler iyi oldukları gibi kalsınlar.
Exit dedikten sonra
Do you wish to save your new kernel configuration?
Sorusunu yes olarak cevapladıktan sonra ayar islemini bitiriyoruz simdi derlemesi kaldı

Kernelin Derlenmesi

konsolda sırayla su komutları veriyoruz


Kod:

make bzImage
kurulum islemi baslıyor bu islem tamalandıktan sonra asagıdkai komutu veriyoruz kosoldan üstteki komut ile kerneli olusturduk make modules komutu ile yüklenebilen modülleri olusturuyoruz.


Kod:

make modules
daha sonra alttaki komutu veriyoruz


Kod:

make modules_install

bu komut ile modüller /lib/modules/2.6.13.2 altına yükleniyor
simdi Initial ramdisk olusturucaz bunu olusturmamızdaki sebep sürücülerin root dosya sistemini yüklemeleri gerekliligidir fakat sürücüler root dosya siteminde oldugu için normal kosullarda yükleyemezler onun için ramdisk olusturuyoruz.Ana sürücülerinizi modül olarak yüklemediyseniz bunu yapmanıza gerek yok ev bilgisayarlar için

asagıdaki komutla bunu olusturuyoruz


Kod:

mkinitrd /boot/initrd-2.6.13.2.img 2.6.13.2

simdi kerneli olustrdugumuza göre kullanım için hazırlıyalım



Kod:

cp .config /boot/config-2.6.13.2
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.13.2
cp System.map /boot/System.map-2.6.13.2
ln -s /boot/System.map-2.6.13.2 /boot/System.map


/dev/mapper/control ile ilgili bir hata alırsanız bunu yapın


Kod:

rm -rf /boot/initrd-2.6.13.2.img
mkinitrd --omit-lvm-modules /boot/initrd-2.6.13.2.img 2.6.13.2

Bootloaderların ayarlanması LİLO , GRUB
sıra geldi bootloader ların ayarlanmasına ilk önce grub ile baslayalım

pico /etc/grub.conf yazarak ayar dosyasını açıyoruz



Kod:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,5)
# kernel /boot/vmlinuz-version ro root=/dev/hda6
# initrd /boot/initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,5)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS-4 i386 (2.6.9-11.EL)
root (hd0,5)
kernel /boot/vmlinuz-2.6.9-11.EL ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.9-11.EL.img
title Other
rootnoverify (hd0,0)
chainloader katılıyorum

burda default 0 yazan kısım hangi kısım ile baslanacagını anlatıyor üstten alta dogru sayıyoruz
title CentOS-4 i386 (2.6.9-11.EL) bu 0 a denk geliyor
title Other buda 1 e denk geliyor
root (hd0,5) yazan kısım o dosya sisteminin birinci harddiskin altıncı partititonunda oldugunu gösteriyor çünkü saymaya 0 ile baslıyoruz

title Other
rootnoverify (hd0,0)
chainloader katılıyorum
other ile gördügünüz kısım windows yani 1 . harddiskin 1 inci partition u olduüunu gösteriyor

yeni kernelimizi listeye ekliyoruz görünümü



Kod:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,5)
# kernel /boot/vmlinuz-version ro root=/dev/hda6
# initrd /boot/initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,5)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS-4 i386 (2.6.9-11.EL)
root (hd0,5)
kernel /boot/vmlinuz-2.6.9-11.EL ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.9-11.EL.img
title CentOS-4 i386 (2.6.13.2)
root (hd0,5)
kernel /boot/vmlinuz-2.6.13.2 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.13.2.img
title Other
rootnoverify (hd0,0)
chainloader katılıyorum


gördügünüz gibi default hala 0 yani standart olarak 2.6.9-11.El kerneli ile boot edilicek eger oraya 1 yazarsak 2.6.13.2 ile 2 yazarsak windows ile simdilik orası 0 kalsın çünkü biz sistemimizi bir kereye mahsus yeni kernelle baslatıcaz eger baslamazsa orası dafault olarak eski kerneli gösterdigi için eski kernelle baslar böylece bir sorun yasamadan gene sistemimiz açılır.Dosyayı kaydedip çıkın konsolda grub yazın
karsınıza çıkan menuye



Kod:

savedefault --default=1 --once
burdaki 1 degeri 2. sıradaki kernel ile bir kere baslaması gerektigini söylemektedir 2. sıradkai kernelimiz yeni kernel olan title CentOS-4 i386 (2.6.13.2) dır.

sonra quit yazıp grub un menusundan çıkıyoruz ve boot sektöre yazılmasını bir kaç saniye bekliyoruz reboot yazıp yeniden baslatıyoruz eger sorunsuz baslarsa
pico /etc/grub.conf yazıp ayar dosyasını tekrar açıyoruz Defaults yazan kısımdaki 0 degerini 1 ile degistiyoruz böylece artık yeni kernelimiz ile baslıcak
konsolda tekrar grub yazıyoruz
gelen menuda quit yazıyoruz ve gerekli bilgilerin boot sektöre yazılmasını bir kaç saniye bekliyoruz bekliyoruz sonra tekrar reboot yazıp yeni kernel ile bootlanmasını bekliyoruz standart olarak.



Kod:

[root@localhost /]# uname -a
Linux localhost.localdomain 2.6.13.2 #1 Sun Sep 18 23:56:01 EEST 2005 i686 i686 i386 GNU/Linux


Lilo nun Ayarlanması

pico /etc/lilo.conf komutu ile liloyu açıyoruz
liloyu editleyecegim server baska bir server ama onada aynı kerneli kuruyorum islemlerin mantıgını anlarsanız hiç bir sorun yasamazsınız zaten




Kod:

prompt
timeout=50
default=2.4.21-32.0.1.E
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
lba32

image=/boot/vmlinuz-2.4.21-32.0.1.EL
label=linux
initrd=/boot/initrd-2.4.21-32.0.1.EL.img
read-only
append="root=LABEL=/"
image=/boot/vmlinuz-2.4.21-27.EL
label=linux-eski
initrd=/boot/initrd-2.4.21-27.EL.img
read-only
append="root=LABEL=/"

burdaki default degeri gene digerinde oldugu gibi hangi kernelle baslanacagını belirtiyor bu sunucu standart oalrak 2.4.21-32.0.1.EL kerneli ile boot ediliyor yani aslında redhat ın son stabil kerneli biz bunu 2.6.13.2 ile boot edicez o yüzden su sekilde dgeisiriyoruz.



Kod:

prompt
timeout=50
default=2.4.21-32.0.1.E
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
lba32

image=/boot/vmlinuz-2.6.13.2
label=linux
initrd=/boot/initrd-2.6.13.2.img
read-only
append="root=LABEL=/"
image=/boot/vmlinuz-2.4.21-32.0.1.EL
label=linux-birazdahayeni
initrd=/boot/initrd-2.4.21-32.0.1.EL.img
read-only
append="root=LABEL=/"
image=/boot/vmlinuz-2.4.21-27.EL
label=linux-eski
initrd=/boot/initrd-2.4.21-27.EL.img
read-only
append="root=LABEL=/"

dosyayı bu sekilde kaydediyoruz


Kod:

lilo -v -v

komutu ile boot sektöre yazıyoruz.
lilo -R 2.6.13.2 komutunu vererek bir kereye mahsus olarak 2.6.13.2 kerneli ile basatıyoruz eger bir sorunla karsılasılır baslamazsa eski kernel olan 2.4.21-32.0.1 ile baslayacak bu islemide yaptıktan sonra reboot yazıp bekliyoruz eger bir sorunla karsılasmadan server o kernel ile baslarsa
tekrar pico /etc/lilo.conf yazarak ayar dosyasını açıyoruz



Kod:

default=2.4.21-32.0.1.E

yazan kısımı



Kod:

default=2.6.13.2

ile degistiriyoruz ve dosyayı kaydedip çıkıyoruz konsolda
tekrar lilo -v -v komutunu vererek boot sektöre yazmasını saglıyoruz
bundan sonra bir daha reboot atın sorunsuz sistem baslayacaktır kernel derleme islemide bu kadar.
Cevapla

“Linux ve Unix tabanli isletim sistemleri” sayfasına dön