8.4. Compilant un nou nucli

Per què algú voldria compilar un nou nucli? Sovint no és necessari, ja que el nucli que distribueix Debian gestiona la majoria de les configuracions. Debian també ofereix sovint uns quants nuclis alternatius. Per tant, pot ser que vulgueu comprovar primer si hi ha algun paquet d'imatge de nucli alternatiu que correspon millor al vostre maquinari. Tot i això, compilar un nou nucli pot ser útil per:

8.4.1. Gestió de la imatge del nucli

No tingueu por a l'hora de compilar el nucli. És divertit i profitós.

Per compilar un nucli a la manera de Debian, necessiteu alguns paquets: fakeroot, kernel-package, kernel-source-2.4.27 (l'última versió en el moment d'escriure aquest document) i alguns d'altres que probablement ja teniu instal·lats (per accedir a la llista completa vegeu /usr/share/doc/kernel-package/README.gz).

A través d'aquest mètode es generarà un .deb del codi font del nucli, i en el cas que disposeu de mòduls no estàndard en crearà un .deb dependent sincronitzat. És un mètode millor per gestionar imatges del nucli; el directori /boot contindrà el nucli, el System.map i un registre del fitxer de configuració actiu del muntatge.

Recordeu que no forçosament heu de compilar el nucli seguint el “mètode Debian”; però creiem que utilitzar el sistema d'empaquetat per gestionar el nucli és la manera més segura i fàcil. De fet, podeu descarregar el codi font del nucli directament del Linus en comptes de kernel-source-2.4.27, ja que utilitza el mètode de compilació kernel-package.

Recordeu que trobareu documentació respecte a la utilització de kernel-package al directori /usr/share/doc/kernel-package. Aquesta secció únicament conté un petit tutorial.

S'assumeix que disposeu de llibertat absoluta sobre el vostre sistema i que extraureu el codi font del nucli en algun lloc del vostre directori personal[10]. Assumirem que la vostra versió del nucli és 2.4.27. Assegureu-vos d'estar al directori on voleu desempaquetar el codi font del nucli, extraieu-lo utilitzant l'ordre tar xjf /usr/src/kernel-source-2.4.27.tar.bz2 i entreu al directori que s'haurà creat kernel-source-2.4.27 .

Ja podeu configurar el nucli. Si teniu instal·lat, configurat i executant-se l'X11, executeu l'ordre make xconfig; si no el teniu instal·lat executeu l'ordre make menuconfig (haureu de tenir instal·lat libncurses5-dev). Preneu-vos el temps necessari per llegir l'ajuda en línia i seleccionar les opcions de forma acurada. En cas de dubte, normalment és millor introduir el controlador del dispositiu (el programari que gestiona els perifèrics com la targeta Ethernet, controladors SCSI i similars). Recordeu que en cas de no entendre d'altres opcions no relacionades amb un maquinari específic, les hauríeu de deixar amb el valor predeterminat. No oblideu seleccionar l'opció “Carregador de mòduls del nucli” a “Suport de mòduls carregables” (per defecte no està seleccionat). En cas de no incloure l'opció, hi hauria problemes amb la instal·lació de Debian.

Netegeu l'arrel del codi font i reinicia els paràmetres kernel-package. Per a fer-ho, utilitzeu l'ordre make-kpkg clean.

Seguidament heu de compilar el nucli: fakeroot make-kpkg --revision=custom.1.0 kernel_image. El número de versió “1.0” es pot modificar; és únicament un número de versió que s'utilitzarà per registrar les generacions del nucli. Podeu utilitzar qualsevol paraula enlloc de “custom” (ex. un nom d'ordinador). La duració de la compilació del nucli dependrà de la potència de l'ordinador.

Un cop finalitzada la compilació, podeu instal·lar el nucli personalitzat com qualsevol altre paquet. Heu d'executar, com a superusuari, l'ordre dpkg -i ../kernel-image-2.4.27-subarquitectura_custom.1.0_alpha.deb. La part subarquitectura és una subarquitectura opcional en funció de les opcions del nucli seleccionades. L'ordre dpkg -i kernel-image... instal·larà el nucli, juntament amb d'altres fitxers de suport. Per exemple, s'instal·larà System.map (que serà d'ajuda en els problemes de depuració del nucli), i també s'instal·larà el fitxer /boot/config-2.4.27 que contindrà el conjunt d'opcions de configuració actuals. El paquet kernel-image-2.4.27 és capaç d'utilitzar directament el carregador d'arrencada de la plataforma per executar l'actualització en l'arrencada, possibilitant l'arrencada sense la necessitat de tornar a executar el carregador d'arrencada. Si heu creat un paquet de mòduls, ex. si diposeu de PCMCIA, també haureu d'instal·lar-lo.

És el moment de reiniciar el sistema: llegiu acuradament qualsevol avís produït pel pas anterior i executeu l'ordre shutdown -r now.

Per a veure més informació sobre kernel-package llegiu la documentació del directori /usr/share/doc/kernel-package.



[10] Hi ha d'altres ubicacions on podeu extreure el codi font del nucli i generar el vostre nucli personalitzat, però aquest és el més fàcil al no precisar de permisos especials.