recompilar un kernel

  • warning: tempnam(): open_basedir restriction in effect. File() is not within the allowed path(s): (/srv/www/gilug.org/www/site.tree/) in /srv/www/gilug.org/www/site.tree/public/includes/file.inc on line 802.
  • warning: fopen(): Filename cannot be empty in /srv/www/gilug.org/www/site.tree/public/includes/file.inc on line 803.
  • El fitxer no s'ha pogut crear.

bé, per començar has de baixar-te un kernel, el kernel és el cor del sistema operatiu, és allà on tu, com a superusuari i administrador de tot, li dius a la makina el que tens.
Bé, un kernel és un artxiu que està comprimit i té, normalment, l'extensió .tar.bz2, això vol dir que està comprimit amb el tar i el compressor bz2, i ho descomprimirem mitjansant la comanda "tar", si fas un man tar, et surtira l'ajuda del tar, segurament ho tindras en anglès, perè bueno, suposo que d'anglpes en sabras, sinó... ja sap el que et toca, agafa els llibres de
bàsica ... i a estudiar anglès :P.
Fora conyes, un artxiu .tar.bz2, per la gent novell, es descomprimeix mitjansant la següent comanda:
tar xvfj artxiu.tar.bz2, això et descomprimirà el kernel, però COMPTE!!
!!!!, L'HAS DE DESCOMPRIMIR EN EL SEG@œENT DIRECTORI: "/usr/src/" aquí és on hi possarem les sources del kernel.
Un cop fet això, (suposo que tot haurà surtit bé fins ara) anirem al directori /usr/src/kernel_"versió" i un cop estem dins d'aquest directori, farem un make menuconfig, aquesta comanda serveix per recompilar, seguidament hem de compilar les sources del kernel, però abans de res hem de mirar que ens resolgui les dependencies del kernel, fent un : make dep (suposo que a tothom li resoldra les dependencies)
Desprès d'aquesta instrucció, és el moment de intentar recompilar la imatge del kernel, que es fa amb la comanda make bzImage
Si et dóna error, fixat el per què et dóna error, aquest error el trobaras a les últimes líneas de la compilació, si et dóna error mira aquestes lineas i resol l'error, ara bé, si no te'n ha donat, ja tens la part més important del kernel recompilat, ara et falta recompilar els moduls i instalar-los, que es fa amb les següents comandes: make modules; make modules_install
(suposo que qui llegeixi això se'n anirà surtint de tots els passos)
el kernel recompilat el podem trobar a usr/src/linux"versio"/arch/i386/boot/bzImage, per posar-lo com una imatge del lilo ( suposo que tothom usarà lilo) copiem la imatge al /boot/ amb el nom que es vulgui, desprès editem el lilo.conf que trobarem a /etc/ , i aqui l'hi hem d'afegir aquest nou kernel que em recompilat, no borris la imatge vella!!!! ni la treguis de dins el lilo.conf!!! que si et peta el nou kernel recompilat puguis iniciar el linux amb el vell kernel
(dóno per suposat que tothom sabrà com afegir la imatge en el lilo.conf
(vaia rollo !!!! avui m'he desfogat!!!!!!!!!!!!!! :P)

Un parell de comentaris

No és pas necessari descomprimir el codi a /usr/src/ Jo de fet ho acostumo a fer al meu home.... De tota manera, si ho voleu descomprimir a /usr/src/ , per no haver de ser sempre root, a moltes distribucions aquest directori pertany al group src i si feu (com a root):

adduser src

Podreu fer que faci tots els passos de compilar el nucli (llevat de la instal·lació final).

Si utilitzeu Debian, potser trobareu cómode el paquet kernel-package... Us permet compil·lar el kernel fent un paquet. Seria tant fàcil com fer:

make xconfig
make-kpkg --root-cmd=fakeroot configure
make-kpkg --root-cmd=fakeroot kernel_image

I et genera un paquet debian amb els mòduls inclosos i tot.

si pro

Molt be la idea, peró a mi m'agrada mes les explicacions una mica mes amplies clares, mirant una mica per la web he trobat un link que recomano:

http://www.frikis.org/staticpages/index.php?page=20021105203522221

A la mateixa pàgina hi podreu trobar algun article de com configurar una tarja de tv, de crear i canviar el framebufer etc...

Per cert

Enlloc de make menuconfig també pots utilitzar el make xconfig que es una interficie una mica mes amigable i clara. Posiblement haureu de instalar les llibreries tk... per fer-lo funcionar. I encara hi ha una altre manera encara mes gràfica i entenedora de fer-ho, amb el panell de control de kde.

Salut!