Deprecated: Function split() is deprecated in /home/www/static/linuxsoft.ro/www.linuxsoft.ro/public_html/wiki/inc/auth.php on line 146 Warning: Cannot modify header information - headers already sent by (output started at /home/www/static/linuxsoft.ro/www.linuxsoft.ro/public_html/wiki/inc/auth.php:146) in /home/www/static/linuxsoft.ro/www.linuxsoft.ro/public_html/wiki/inc/auth.php on line 236 Warning: Cannot modify header information - headers already sent by (output started at /home/www/static/linuxsoft.ro/www.linuxsoft.ro/public_html/wiki/inc/auth.php:146) in /home/www/static/linuxsoft.ro/www.linuxsoft.ro/public_html/wiki/inc/actions.php on line 128 administrare:compilare-kernel [Linux Soft Wiki]
 

Cum să compilezi kernelul linux

De ce ai compila kernelul? Simplu, pentru că în acest fel poţi include facilităţi care nu erau incluse în kernelul default, poţi optimiza kernelul, şi nu numai.

Obţinerea surselor

Sursele se pot obţine de pe www.kernel.org. În loc să le downloadaţi manual puteţi folosi următoarea comandă:

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

în loc de VERSIUNE puneţi versiunea kernelului pe care vreţi să îl downloadaţi. Să zicem 2.6.19.

După downloadarea surselor se extrage arhiva şi sunteţi gata să începeţi.

Pentru a extrage arhiva folosiţi comanda:

tar -jxf <arhivă>

Configurarea surselor înainte de compilare

Această etapă configurează componentele kernelului ce urmează a fi compilate.

Pentru această etapă se va folosi una dintre următoarele comenzi:

make menuconfig (interfaţă bazată pe ncurses)
make gconfig (interfaţă bazată pe GTK+)
make xconfig (interfaţă bazată pe QT)

După executarea comenzii, vi se va pune la dispoziţie o interfaţă cu ajutorul căruia veţi configura kernelul. Aici puteţi debifa componentele kernelului care nu sunt conforme configuraţiei computerului dumneavoastră.

Compilarea kernelului

Pentru a compila kernelul linux se vor executa următoarele comenzi:

make dep (se foloseşte doar pentru kernel 2.4.x, şi crează dependinţele)
make clean (curăţă sursele)
make bzImage (crează imaginea kernlului)
make modules (compilează modulele)
make modules_install (instalează modulele)

Instalarea kernelului

Pentru a instala kernelul se vor executa următoarele 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 să înlocuiţi VERSIUNE cu versiunea kernelului pe care l-aţi compilat.

Adăugarea kernelului în configuraţia bootloader-ului

Pentru a putea boota cu noul kernel, acesta va trebui adăugat la configuraţia bootloader-ului pe care îl folosiţi.

Pentru LILO

Adăugaţi următoarele în /etc/lilo.conf

image=/boot/bzImage-VERSIUNE
label=CeNumeVreţi
root=partiţia (sub forma /dev/hda2 )
read-only

iar apoi rulaţi din consolă /sbin/lilo

Pentru GRUB

Adăugaţi următoarele în /boot/grub/menu.lst

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

Final

După ce aţi executat toate procedurile de mai sus, puteţi reboota computerul şi selecta noul kernel din menuiul bootloader-ului dumneavoastră.

Un script care automatizează etapele de mai sus, se poate găsi la adresa: http://code.google.com/p/buildkernel/

 
administrare/compilare-kernel.txt · Last modified: 2008/03/02 17:38 by wonder
 
Publicaţi pe acest Wiki doar conţinut original, nu se acceptă copierea articolelor de pe alte site-uri. Se recomandă folosirea link-urilor in acest caz.
Recent changes RSS feed