Se poate instala in doua variante
-se scoate o versiune precompilata pentru distributia de Linux pe care o avem si se instaleaza
-se scoate versiunea
vanilla pe care o gasim pe
http://kernel.org sau se scot sursele kernel specifice distributiei pe care o avem si se compileaza
De ce ar fi mai utila compilarea unui Kernel decat folosirea versiunii precompilate?Ei bine se pot insira destul de multe motive insa cele mai importante ar fi
-distributiile standard precompilate de kernel pot fi inadecvate deoarece pot aparea incompatibilitati hardware sau chiar lipsa suportului pentru anumite componente.
-putem imbunatatii performantele computerului prin setarea modulelor kernel-ului in asa fel incat sa se potriveasca intr-un mod cat mai bun cu sistemul hardware detinut.
-in cazul compilarii kernel-ului putem alege noi elemente neactivate in kernel-ul precompilat sau deselecta elemente de care nu avem nevoie.
Vom incepe prin a downloada si instala sursele pentru Kernel
#
apt-get install kernel-source-2.6.17.13#
cd /usr/src#
tar -xjvf kernel-source-2.6.17.13.tar.bz2#
cd linux-source-2.6.17.13in cazul unui update de kernel si in cazul unei compilari noi vom fi nevoiti sa creem fisierul de configurare pentru compilarea acestuia.Avantajul in cazul unui update este acela ca putem folosii fisierul de configurare a kernel-ului vechi.De aceea vom copia acest fisier in directorul surselor de kernel pe care dorim sa il instalam sub numele de
.config
#cd /boot
#ls
#cp config-2.4.24-1-386 /usr/src/linux-source-2.6.17.13/ .configUrmatorul pas este acela de actualizare a fisierului de configurare cu nou Kernel iar lucrul acesta se face cu ajutorul comenzii make oldconfig executata in directorul surselor noului kernel
#make oldconfigIn cazul in care dorim sa folosim fisierul de configurare a surselor vechi este recomandabil ca dupa male oldconfig sa folosim una din comenzile
make config / make menuconfig sau make xconfigConfigurarea surselor de Kernel se poate face in mai multe moduri:
#make mrproper (practic va sterge orice fisier de configurare sau fisiere obiect pe care kernelul vechi pe avea)
#make config (configurarea se face in urma unui se de intrebari despre sistem la care utilizatorul trebuie sa raspunda)
#make menuconfig (configurarea se face printr-un meniu text,in care utilizatorul poate selecta elementele din kernel pe care le doreste active)
#make xconfig/ make gconfig ( la fel ca menuconfig insa configurarea se face sub serverul X)
#make defconfig ( va folosii fisierul de configurare default)
Compilarea propriuzisa are trei pasi:
*make - construieste imaginea de kernel
*make modules_install - instaleaza modulele
*copierea imaginii de kernel in directorul in care acesta booteaza in mod normalDupa compilarea kernel-ului copiati fisierele
.config System.map si bzImage in
/bootcp /usr/src/linux-source-2.6.17.13/.config /boot/config-2.6.17.13
cp /usr/src/linux-source-2.6.17.13/System.map /boot/System.map-2.6.17.13
cp /usr/src/linux-source-2.6.17.13/arch/i386/boot/bzImage /boot/vmlinuz-2.6.17.13dupa care creati un ramdisk dupa kernel-ul cel nou
cd /boot/
mkinitrd -o /boot/initrd.img-2.6.17.13 2.6.17.13Modificarea bootloader-ului (GRUB)
##Imaginea de boot
title Debian, kernel 2.4.24-1-386
root (hd0,1)
kernel /boot/vmlinuz-2.4.24-1-386 root=dev/hda2 ro quiet splash
initrd /boot/initrd.img-2.4.24-1-386##Imaginea de boot
title Debian, kernel 2.6.17.13
root (hd0,1)
kernel /boot/vmlinuz-2.6.17.13 root=dev/hda2 ro quiet splash
initrd /boot/initrd.img-2.6.17.13Sistem reboot
reboot,shutdown -r now ,init 6, ctrl+alt+del
La repornire se alege optiunea de bootare cu noul kernel iar pentru a vedea erorile de la bootare se pot folsii comenzile
dmesg sau
less /var/log/messages*
vanilla- versiunea de kernel neprelucrata absolut deloc de distributiile de Linux existente la ora actuala.