Compilare Kernel in Linux

Configurare noua (How To)

Situatie

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

Solutie

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 downloadat

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 l-am facut noi, il putem folosi pe acesta pentru a duce la capat mai rapid configurareaex:executam comanda:make menuconfig- selectam optiunea: 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 optiuni.Daca avem un kernel instalat default, e bine sa ne uitam la toate optiunile kernelului si sa alegem numai optiunile pe care chiar vrem sa le folosim.
Optiunile 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.
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 il 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 putea sa aveti un kernel panic.  In aces caz, porniti kernelul vechi si reconfigurati kernelul.

Lasă un răspuns

Tip solutie

Permanent

Voteaza

(14 din 37 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?