Tutorial: compilarea kernelului linux din cod sursa

Astazi ziua mi-a fost placut incantata cand am dat peste un tutorial destul de interesant si util in acelasi timp: compilarea kernelului din cod sursa. Ce este kernelul linux si importanta acestuia a fost dezbatatuta de mine in cadrul acestui articol astfel ca o sa trec direct la tutorialul propriu-zis. Tutorialul se gaseste in buletinul de stiri de pe Distrowatch numarul 401. Pe langa pasii din acel tutorial am mai adaugat si eu cativa, sper sa va fie utili.
Pasul 1: crearea spatiului de lucru pe care dorim sa instalam kernelul folosind virtual box; in cazul meu Debian 6 cu kernelul 2.6.32. Folosind virtual box am creat un disk virtual de 10Gb dupa aceea am descarcat imaginea distributiei si instalat sistemul de operare. Scopul acestui pas este familiarizarea cu pasii tutorialului si respectiv putina practica inainte de instalarea pe un hard disk real. Este mai bine sa gresiti aici pasii decat pe un mediu real.
Pasul 2: obtinerea kernelului dorit. Acest lucru implica accesarea acestui site si descarcarea kernelului dorit, versiune stable de preferat, in cazul meu 2.6.38.
Pasul 3: verificarea dependintelor. Pentru a compila un kernel avem nevoie de gcc, c++/ build-essentials , mkinitramfs sau mkinitrd in functie de distributia linux folosita. Pentru Debian am nevoie de build-essentials, gcc/c++(instalate ca si dependinte are build-essentials) si mkinitramfs.
Pasul 4: compilarea propriu-zisa a kernelului folosind terminalul. Acest lucru implica urmatorii pasi:
– dezarhivarea kernelului (cazul meu 2.6.38): tar xvf linux-2.6.38.tar.bz2
– navigarea in folderul de lucru si copierea fisierului config pe care il are vechiu kernel, astfel incat noul kernel sa aiba aceleasi optiuni active ca si cel vechi: cd linux-2.6.38 respectiv cp /boot/config-2.6.32 .config
– actualizam configul in raport cu noul kernel: make oldconfig; apasati enter pentru setarile default(recomandat incepatorilor) sau alegeti dupa bunul plac
– compilarea kernelului; aceasta etapa este si cea mai lunga care poate dura mai multe de o ora in functie de proprietatile hardware ale calculatorului: make
– instalarea kernelului si modulelor acestuia: make install modules_install
– crearea RAM disk-ului: fie mkinitramfs -o initrd.img-2.6.38 -v 2.6.38 pentru distributii din familia .deb sau mkinitrd initrd.img-2.6.38 2.6.38 pentru distributii din familia .rpm
– copierea RAM disk-ului in locatia /boot: cp initrd.img-2.6.38 /boot
– pasul final implica actualizarea bootloaderului cazul meu grub prin comanda update-grub.
Daca totul a mers bine nu va ramane decat sa reporniti calculatorul si sa va bucurati de noua versiune de kernel instalata alaturi de imbunatatirile pe care ea le aduce. Multumiri Distrowatch pentru tutorial! :)

Leave a Reply

Your email address will not be published. Required fields are marked *