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:
gestionar maquinari especial o conflicte de maquinari amb els nuclis proporcionats
utilitzar opcions del nucli que no estan suportades pels nuclis proporcionats (algunes com suport de gran memòria)
optimitzar el nucli suprimint controladors inútils per tal d'agilitzar el temps d'arrencada
crear un nucli monolític en comptes d'un de modular
executar un nucli actualitzat o de desenvolupament
aprendre més sobre nuclis de linux
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
,
linux-source-2.6
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
linux-source-2.6
,
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[27]. Assumirem que la vostra versió del nucli és 2.6.32.
Assegureu-vos d'estar al directori on voleu desempaquetar el codi
font del nucli, extraieu-lo utilitzant l'ordre
tar xjf /usr/src/linux-source-2.6.32.tar.bz2
i entreu al directori que s'haurà creat
linux-source-2.6.32
.
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 reinicieu els paràmetres del
kernel-package
. Per a fer-ho, utilitzeu
l'ordre make-kpkg clean
.
Seguidament heu de compilar el nucli:
fakeroot make-kpkg --initrd --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,
dpkg -i
../linux-image-2.6.32-
.
La part subarquitectura
_custom.1.0_i386.debsubarquitectura
és una subarquitectura
opcional
com per exemple “686”,
en funció de les opcions del nucli seleccionades.
L'ordre dpkg -i
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.6.32
que contindrà el conjunt
d'opcions de configuració actuals. El paquet del nucli es prou intel·ligent
per actualitzar automàticament el vostra carregador d'arrencada per utilitzar
el nou nucli. Si heu creat un paquet amb mòduls, necessitareu instal·lar
eixe paquet també.
É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 els nuclis de Debian i compilacions
de nuclis, vegeu el Llibre de butxaca
de nuclis Linux de Debian.
Per a veure més informació sobre kernel-package
llegiu
la documentació del directori /usr/share/doc/kernel-package
.
[27] 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.