Compilació del Kernel
Pas 1: Obtenir les eines necessàries:
apt-get install build-essential kernel-package
En el cas que no ho pogueu descarregar, podeu utilitzar el gestor de paquets Synaptic.Pas 2: Adreçar-vos a la font del Kernel, i adreçeu-vos al camí /pub/linux/kernel/. Un cop dins, t'hauràs de descarregar el paquet més recent (en aquest cas, el 2.6.20) que tingui l'extensió .gz i que, a més, el seu nom nom no comenci per patch. Això et permetrà descarregar-te les fonts del kernel senceres.
Pas 3: Un cop descarregat, copia'l dins del directori /usr/src i descomprimeix-lo:
cd /usr/src/
tar -xvzf linux-X.Y.ZZ.tar.gz
Pas 4: Crea un enllaç simbòlic al directori descomprimit de les fonts (opcional)
ln -s linux-X.Y.ZZ linux
o bé,
mv linux-X.Y.ZZ linux
Pas 5: A partir d'ara, ja pots obtenir les eines per configurar el nucli
apt-get install libncurses5-dev
Pas 6: Adreça't al directori de les fonts
cd /usr/src/linux-X.Y.ZZ
Pas 7: Ja pots agafar la teva configuració vella i importar-la al no kernel. Per aconseguir-ho, hauràs de copiar el fitxer config-A.BB.CC que estiguis utilitzant (poden haver-hi varis) de /boot a la carpeta /usr/src/linux-X.Y.ZZ que hagis creat, però, anomenant-lo .config
cp /boot/config-A.BB.CC /usr/src/linux-X.Y.ZZ/.config
Pas 8: Executar make mrproper dins del directori /usr/src/linux-X.YY.ZZ.
make mrproper
Pas 9: Executa make menuconfig, o bé, make oldconfig menuconfig si vols importar la configuració. En el segon cas, es pendrà la configuració antiga per les opcions velles i se't preguntarà sobre cadascuna de les noves opcions del Kernel. Pots utilitzar ? per sol·licitar ajuda i, si no saps ben bé què fer, pots utilitzar l'opció per defecte (Fent ENTER, o bé, mirant quina és de les opcions llistades apareix en majúscules)
make menuconfig
o bé
make oldconfig menuconfig
Pas 10: Tant si prens o no la configuració antiga, ara t'apareixerà el menú en el que pots revisar les opcions, o bé, canviar algunes més. Quan finalitzis, assegura't que graves els canvis realitzats.
make dep
Pas 12: Executa make clean. és important tenir clar que això és força poc recomanable si solament estàs canviant un parell d'opcions sobre un nucli que ja has compilat abans perquè tardaràs moltíssim, després, en recompilar-ho tot, donat que esborraràs tots els .o que ja estaven compilats. "Aquesta comanda esborra tota la brossa".
make clean
Pas 13: Executa make bzImage per crear la imatge del kernel. Posa-hi paciència, perquè és un procés un xic llarg.
Pas 14: Copia la imatge del kernel bzImage i els maps al directori /boot
cp System.map /boot/System.map-X.Y.ZZ-identificador
cd /usr/src/linux-X.YY.ZZ/arch/i386/boot
cp bzImage /boot/vmlinuz-X.Y.ZZ-identificador
cd /usr/src/linux-X.Y.ZZ
Posa atenció a l'hora d'anomenar els arxius dins de /boot AMB EL MATEIX IDENTIFICADOR per diferenciar-lo dels altres kernels, per exemple, així:
System.map-2.6.10-provant i vmlinuz-2.6.10-provant
System.map-2.6.11.3-tanteig i vmlinuz-2.6.11.3-tanteig
Pas 15: Executa make modules per crear els mòduls. Aquest és un procés que també pot ser força llarg
Pas 16: Executa make modules_install per instal·lar els mòduls
make modules_install
Pas 17: Executa el mkinitrd. Per fer aquest pas, pots ser necessari descarregar-te les eines del initrd
apt-get install initrd-tools
mkinitrd -o /boot/initrd.img-X.Y.ZZ-identificador X.Y.ZZRecorda que l'identificador ha de tant en System.map com en vmlinuz. Observa que el segon paràemtre no porta l'identificador. Aquest ha de coincidir amb el nom del directori /lib/modules/X.YY.ZZ que conté els mòduls pel teu nou kernel
mkinitrd -o /boot/initrd.img-X.Y.ZZ-identificador X.Y.ZZPas 18: Edita la configuración de grub (o del lilo). La configuració de grub la pots trobar dins de /boot/grub/menu.lst. Solament hauràs de copiar un dels blocs ja existents i afegeix-lo al final amb les modificacions corresponents perquè s'adapti al teu sistema.
Per exemple:
title Ubuntu, kernel 2.6.20-provantroot (hd0,2)
kernel /boot/vmlinuz-2.6.20-provant root=/dev/hda3 ro quiet splash
initrd /boot/initrd.img-2.6.20-provant
savedefault
boot
Quan hagis provat que funciona, podràs canviar la línia default al valor adient perquè arrenqui, per defecte, amb aquesta nova configuración. Has de tenir en compte que si poses default 3 arrencarà la cuarta opció de la llista, donat que default comença a pel 0.
Pas 19: Executa depmod -a (de preferencia per actualitzar els mòduls)
depmod -a
Pas 20: torna a arrencar el PC
És per això, que mitjançant el blog de Munkibass s'ha pogut trobar una possible via per compilar aquest kernel (en cas de ser necessari). Pot no ser necessari donat que el Kernel default de Ubuntu permet realitzar la majoria de les activitats (suport de maquinari i la seva relació amb les altres aplicacions).
1. És necessari instal·lar paquets útils per la compilació:
sudo apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential
2. Descarrega el full source des dels arxius del Kernel. Opcionalment, pots fer un wget.
wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2
3. Extreu l'arxiu:
tar xjf linux-2.6.20.tar.bz2
4. Mou el que acabes d'extreure al directori /usr/src
sudo mv linux-2.6.20 /usr/src/
5. Crea uns quants enllaços simbòlics
cd /usr/srcsudo ln -s linux-2.6.20 linuxcd /usr/src/linux
6. Utilitza l'arxiu actual de configuració del teu Kernel en el Kernel que serà compilat.
sudo cp /boot/config-2.6.17-11-generic .config
Ull!! config-2.6.17-11-generic pot canviar segons quin Kernel utilitzis.
7. Realitza un menuconfig
sudo make menuconfig
Un cop dins, adreça't al final i posa't en Load an Alternate Configuration File, has d'assegurar-te que aparegui .config i fes acceptar.
També és important revisar que no se't passi per alt cap dispositiu (tot i que si ho vas fes basant-te en un altre .config és poc probable..). Per evitar tenir problemes amb els controladors SATA, hauràs de marcar-los (amb la barra espaciadora) dins de la categoria:
Device Drivers => Sarial ATA … => ATA device support => El teu maquinari.
Guarda i tanca
7.1 La compilació:
sudo make-kpkg cleansudo make-kpkg --initrd --append-to-version=-identificador kernel_image kernel_headers
Hauràs de canviar l'identificador pel nom que tu desitgis.
8. Un cop finalitzada la instal·lació, i dins del directori /usr/src s'hauran creat els dos paquets .deb que haurem de instal·lar amb:
dpkg -i *.deb
Assegura't que siguin els únics paquets .deb que hi hagin.
Automàticament, es crearan les entrades dins del GRUB i, a continuació, podràs tornar a iniciar i arrencar amb el teu nou Kernel.
Comentaris