Compilare kernel – Debian way

Kernelul poate fi compilat cu metode diferite. De obicei fiecare distributie are o metoda care poate fi aplicat mai usor si fara probleme.

Compilare Kernel in Debian Linux

1: Prima data downlodam pachetele care sunt necesare pt. versiunile kernel 2.6 in Debian Linux

apt-get install kernel-package ncurses-dev fakeroot  wget bzip2

2: Intram in directorul /usr/src

cd /usr/src

3: Downlodam versiunea cea mai noua a kernelului de la situl kernel.org/pub/linux/kernel/v2.6/….(ulitma versiune)

wget kernel.org/pub/linux/kernel/v2.6/…

4: Despachetam kernelul cu programul gunzip sau bunzip2 – depinde ce varianta am downlodat

gunzip kernel2.6.21.tar.gzip
tar -xvf kernel2.6.21.tar
cd linux2.6 etc

5: Configuram kernelul – Daca avem deja un fisier de configurare pe care am facut noi putem folosi pe acesta pentru a duce la capat mai rapid configurareaex:executam comanda:make menuconfig- selectam obtiunea : Load from external file (si acolo definim ruta catre fisierul vechi)dupa ce am terminat, ne uitam la inbunatatirile kernelului nou, si alegem sau lasam afara noile obtiuni.Daca avem un kernel instalat default, e bine sa ne uitam la toate obtiunile ale kernelului si sa alegem numai obtiunile pe care chiar vrem sa folosim.
Obtiunile disponibile in kernel, pot fi alese ca built in * ( in cazul acesta vor fi compilate in kernel – sau putem alege varianta ( load as module M ) ceea ce inseamna ca modulul respectiv va fi lodat de catre RAMDisk care trebuie creat dupa compilare.
Dupa ce am konfigurat Kernelul executam comenzile:

make-kpkg clean
fakeroot make-kpkg –revision=custom.1.0 kernel_image-

Comanda respectiva creeaza un pachet de format deb a kernelului si care va arata de ex: kernel-image-2.6.21.2_custom.1.0_i386.deb

8: Instalam programe care sunt necesare pentru crearea initRAMDiskului, de care vom avea nevoie in caz daca nu am compilat kernelul in asa fel incat toate modulele sa fie ( built in )

apt-get install module-init-tools initrd-tools procps

9: Instalam kernelul nou:

dpkg -i kernel-image-2.6.21.2_custom.1.0_i386.deb

10: Daca avem nevoie de initramdisk(daca folosim module M – atunci avem)executam comanda in directorul

/boot/mkinitrd -o /boot/initrd.img-2.6.21.2 2.6.21.2

11: Ultimul lucru care trebuie facut – sa ne asiguram ca loaderul pe care folosim stie despre noul kernel instalat ( GRUB, LILO )
– de obicei GRUB face un update automat dupa instalarea noului kernel, in caz daca folosim lilo — >

editam fisierul de configurare /etc/lilo.conf si facem schimbarile necesareex:
default=Linux
image=/vmlinuz     label=Linux ( kernel nou )   read-only   initrd=/boot/initrd.img-2.6.21.2

Mult succes! — La boot daca kernelul nou nu a fost bine configurat s-ar puta sa aveti un kernel panic.  In aces caz porniti kernelul vechi si reconfigurati kernelul.

Lasă un răspuns

(*)


*