Compilant un nou kernel
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. Tot i això, compilar un nou nucli és útil
per:
gestionar maquinari especial o conflicte de maquinari amb els
nuclis proporcionats
gestionar maquinari o opcions que no estan incloses en el nucli estàndard,
alguns exemples poden ser l'APM o l'SMP
optimitzar el nucli suprimint controladors inútils per tal
d'agilitzar el temps d'arrencada
utilitzar opcions del nucli que no estan suportades pel nucli
predeterminat
executar un nucli actualitzat o de desenvolupament
impresionar als vostres amics, provar noves coses
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:
kernel-package,
kernel-source-&kernelversion; (l'última versió
en el moment d'escriure aquest document), fakeroot
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 kernel
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-&kernelversion;, 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
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.
. Assumirem que la vostra versió del nucli és &kernelversion;.
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-&kernelversion;.tar.bz2
i entreu al directori que s'haurà creat kernel-source-&kernelversion;.
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.
Si necessiteu el suport per a PCMCIA, també haureu d'instal·lar el paquet
pcmcia-source. Desempaqueteu el fitxer gzip tar
com a superusuari al directori /usr/src (és important
que els mòduls es trobin allà on s'espera que es trobin,
/usr/src/modules). Seguidament, i com a superusuari,
heu d'executar l'ordre make-kpkg modules_image.
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-&kernelversion;-subarquitectura_custom.1.0_&architecture;.deb.
La part subarquitectura és una subarquitectura
opcional
com per exemple i586
,
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-&kernelversion; que contindrà el conjunt
d'opcions de configuració actuals. El paquet
kernel-image-&kernelversion;
é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.