Meniu

Cum sa compilezi kernelul linux - old school

De ce ai compila kernelul? Simplu, pentru ca in acest fel poti include facilitati care nu erau incluse in kernelul default, poti optimiza kernelul, si nu numai.

Obtinerea surselor

Sursele se pot obtine de pe www.kernel.org. În loc sa le downloadati manual puteti folosi urmatoarea comanda:

wget http://kernel.org/pub/linux/kernel/v4.6/linux-VERSIUNE.tar.bz2

in loc de VERSIUNE puneti versiunea kernelului pe care vreti sa il downloadati. Sa zicem 4.6.19.

Dupa downloadarea surselor se extrage arhiva si sunteti gata sa incepeti.

Pentru a extrage arhiva folositi comanda:

tar -jxf

Configurarea surselor inainte de compilare

Aceasta etapa configureaza componentele kernelului ce urmeaza a fi compilate.

Pentru aceasta etapa se va folosi una dintre urmatoarele comenzi:

make menuconfig (interfata bazata pe ncurses)
make gconfig (interfata bazata pe GTK+)
make xconfig (interfata bazata pe QT)

Dupa executarea comenzii, vi se va pune la dispozitie o interfata cu ajutorul caruia veti configura kernelul. Aici puteti debifa componentele kernelului care nu sunt conforme configuratiei computerului dumneavoastra.

Compilarea kernelului

Pentru a compila kernelul linux se vor executa urmatoarele comenzi:

make dep (se foloseste doar pentru kernel 2.4.x, si creaza dependintele)
make clean (curata sursele)
make bzImage (creaza imaginea kernlului)
make modules (compileaza modulele)
make modules_install (instaleaza modulele)

Instalarea kernelului

Pentru a instala kernelul se vor executa urmatoarele comenzi:

cp arch/i386/boot/bzImage /boot/bzImage-VERSIUNE
cp System.map /boot/System.map-VERSIUNE
ln -sf /boot/System.map-VERSIUNE /boot/System.map

Va trebui sa inlocuiti VERSIUNE cu versiunea kernelului pe care l-ati compilat.

Adaugarea kernelului in configuratia bootloader-ului

Pentru a putea boota cu noul kernel, acesta va trebui adaugat la configuratia bootloader-ului pe care il folositi.

Pentru LILO

Adaugati urmatoarele in /etc/lilo.conf

image=/boot/bzImage-VERSIUNE
label=CeNumeVreti
root=partitia (sub forma /dev/hda2 )
read-only

iar apoi rulati din consola /sbin/lilo

Pentru GRUB

Adaugati urmatoarele in /boot/grub/menu.lst

title CeNumeVreti
root partitie (sub forma: (hd0,1) )
kernel /boot/bzImage-VESIUNE ro root=LABEL=/
boot

Final

Dupa ce ati executat toate procedurile de mai sus, puteti reboota computerul si selecta noul kernel din menuiul bootloader-ului dumneavoastra.

Un script care automatizeaza etapele de mai sus, se poate gasi la adresa: http://code.google.com/p/buildkernel/

Andreea

"Rome wasn't built in a day" !
  • | 120 articole

Nici un comentariu inca. Fii primul!
  • powered by Verysign