Publicat el nucli 3.12: instal·lar i compilar a Debian Linux


Un dels grans atractius d'utilitzar Linux és la seva fàcil personalització i una de les coses més divertides de personalitzar és el propi nucli, el cor del sistema operatiu Linux. És probable que no haureu de compilar mai el vostre propi nucli. El que s'envia amb la vostra distribució i actualitzacions mitjançant el vostre sistema de gestió de paquets sol ser prou bo, però hi ha vegades que pot ser necessari recompilar el nucli.

Alguns d'aquests motius poden ser necessitats especials de maquinari, el desig de crear un nucli monolític en lloc d'un de modularitzat, l'optimització del nucli eliminant controladors inútils, l'execució d'un nucli de desenvolupament o simplement per aprendre més sobre Linux. En aquest cas, compilarem un nucli 3.12 recentment publicat, a Debian Wheezy. El recentment llançat Kernel 3.12 té diverses funcions noves, com ara alguns controladors nous per a NVIDIA Optimus i el controlador de gràfics Radeon Kernel. També ofereix grans millores al sistema de fitxers EXT4 i algunes actualitzacions a XFS i Btrfs.

Com compilar i instal·lar el nucli 3.12 a Debian

Per començar, necessitarem alguns paquets, a saber, fakeroot i kernel-package:

# apt-get install fakeroot kernel-package

Ara, agafem l'última arxiu d'origen de www.kernel.org o podeu utilitzar la següent comanda wget per descarregar-lo.

# wget -c https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.tar.xz

Ara, descomprimim l'arxiu.

# tar -xvJf linux-3.12.tar.xz

Després de l'extracció, es crearà un nou directori font del nucli.

# cd linux-3.12

Ara, volem configurar el nucli. El millor és començar amb una configuració que esteu utilitzant actualment i treballar des d'allà. Per fer-ho, copiarem la configuració actual del directori /boot al directori de treball actual i la guardarem com a .config.

# cp /boot/config-`uname –r`.config

Per començar amb la configuració real, teniu una de dues opcions. Si teniu X11 instal·lat, podeu executar make xconfig i tenir un bon menú GUI per ajudar-vos a configurar el vostre nucli. Si esteu executant en un entorn CLI, podeu executar make menuconfig. Necessitareu el paquet libncurses5-dev instal·lat per utilitzar menuconfig:

# apt-get install libncurses5-dev
# make menuconfig

Com veuràs, un cop estigueu a la configuració que trieu, hi ha un munt d'opcions diferents disponibles per al vostre nucli. De fet, n'hi ha massa per a l'abast d'aquest tutorial. Quan seleccioneu les opcions del nucli, la millor manera és prova i error, i fent molts google. És la millor manera d'aprendre. Si només esteu intentant actualitzar el vostre nucli a la versió més recent, no cal que canvieu res i simplement podeu seleccionar \Desa la configuració. Com que hem copiat el fitxer de configuració del nucli actual al fitxer .config del nou nucli.

Tingueu en compte que \Cargador de mòduls del nucli està seleccionat a \Compatibilitat amb mòduls carregables. Si no ho és, i utilitzeu mòduls del nucli, pot equivocar seriosament les coses.

Una vegada que estigui recte, és hora de netejar l'arbre d'origen.

# make-kpkg clean

Finalment, és hora de construir el paquet del nucli.

# export CONCURRENCY_LEVEL=3
# fakeroot make-kpkg --append-to-version "-customkernel" --revision "1" --initrd kernel_image kernel_headers

Com veureu més amunt, hem exportat una variable anomenada CONCURRENCY_LEVEL. Una regla general amb aquesta variable és establir-la com el nombre de nuclis que té l'ordinador + 1. Per tant, si utilitzeu un nucli de quatre nuclis, hauríeu de:

# export CONCURRENCY_LEVEL=5

Això accelerarà molt el temps de compilació. La resta de l'ordre de compilació s'explica per si mateixa. Amb fakeroot, estem fent paquets del nucli (make-kpkg), afegint una cadena per anomenar el nostre nucli (customkernel), donant-li un número de revisió (\1) i estem dient a make-kpkg que construeixi tant un paquet d'imatge i un paquet de capçalera. Un cop finalitzada la compilació, i depenent de la vostra màquina i del nombre de mòduls que esteu compilant, pot trigar molt de temps, canviar els directoris a un altre des del directori font de Linux i hauríeu de veure dos fitxers *.deb nous: un fitxer d'imatge de Linux i un fitxer de capçaleres de Linux:

Ara podeu instal·lar aquests fitxers com si instal·leu qualsevol fitxer *.deb amb l'ordre dpkg.

# dpkg -i linux-image-3.12.0-customkernel_1_i386.deb linux-headers-3.12.0-customkernel_1_i386.deb

El nou nucli, com que és un paquet Debian, actualitzarà tot el que necessiteu, inclòs el carregador d'arrencada. Un cop instal·lat, simplement reinicieu i seleccioneu el nou nucli al menú GRUB/LiLO.

Assegureu-vos de prestar molta atenció als missatges d'error durant el procés d'arrencada perquè pugueu solucionar qualsevol problema. Si, per qualsevol motiu, el vostre sistema no arrenca, sempre podeu tornar al vostre darrer nucli en funcionament i tornar-ho a provar. El nucli no funcional sempre es pot eliminar amb l'ordre apt.

# sudo apt-get remove linux-image-(non-working-kernel)