6. ¿Y ahora qué?

6.1. Instalación del kernel creado

Una vez que ha terminado de compilar el kernel necesitará instalarlo junto con sus módulos. Lo primero es comprobar si el kernel se compiló sin errores cambiando al directorio /usr/src haciendo lo siguiente:

bash:/usr/src/linux# cd ..
bash:/usr/src# ls
custom-kernel.config                     kernel-source-2.2.19    kernel-source-2.2.19.tar.bz2
(1)kernel-image-2.2.19_custom.1.0_i386.deb  linux
(1)
Ahí está. Como se puede comprobar ha añadido la opción de revisión que indicó junto con la arquitectura del sistema.

Ahora para instalar el kernel y todos sus módulos escriba lo siguiente:

bash:/usr/src# dpkg -i kernel-image-2.2.19_custom.1.0_i386.deb

Como parte del proceso de post-instalación se le hace una pregunta de si quiere instalar los módulos también. Responda que si.

Aviso

Si ha usado la opción flavour o está instalando una versión del kernel que es igual a la que tiene corriendo actualmente en su sistema, abra INMEDIATAMENTE un terminal y cambie el nombre de su directorio de módulos actual. Si no hace esto, se provocarán conflictos entre módulos dejando al sistema inusable. Lea /usr/share/doc/kernel-package/Flavour para obtener mas información.

Atención

El comando para mover los módulos sería el siguiente (como usuario root):
bash:/lib/modules# mv 2.2.19 2.2.19-old
Sustituyendo 2.2.19 por su número de versión.

El proceso de post-instalación debería preguntar si quiere hacer un disquete de arranque. Si no lo hizo antes, hágalo ahora.

También pregunta si quiere correr lilo. La documentación dice que esto es un fallo pero no se han observado problemas. Conteste afirmativamente.

Aviso

Si no ha hecho un disquete de arranque hágalo, ya que si por cualquier razón falla algo no será capaz de reiniciar el sistema. Si utiliza loadlin o cualquier otro gestor de arranque, debería consultar la documentación en /usr/share/doc/kernel-package antes de contestar a la anterior pregunta. Lo mas probable es que conteste que no.

Si todo ha ido bien solamente necesitará reiniciar el ordenador y comprobar si funciona. Si falla al reiniciar haga uso del disquete de arranque que hizo. En futuras versiones de este documento se quiere cubrir mas fallos que puedan surgir.

6.2. Terminando

Enhorabuena, ha compilado su primer kernel con el paquete kernel-package. Hay un par de cosas mas que se debe hacer antes de utilizar el nuevo kernel.

En primer lugar, puesto que no se le colocó una marca de tiempo antes al kernel, se necesita poner a nuestro kernel recién instalado en estado "hold" para evitar que las herramientas dselect o apt-get intenten actualizarlo. Esto se hace como se muestra a continuación (como usuario root):

bash# echo "kernel-image-2.2.19 hold" | dpkg --set-selections

Se ha de sustituir el nombre del kernel que aparece arriba por el de su kernel. El carácter "|" se consigue con AltGr-1. Para comprobar que el kernel está en estado "hold" escriba como root:

bash# dpkg --get-selections | grep kernel-image

Si el paquete está en "hold" ha de aparecer lo siguiente:

bash# dpkg --get-selections | grep kernel-image
kernel-image-2.2.19     hold

A continuación se necesita eliminar el enlace simbólico que se creó en el directorio /usr/src. No es absolutamente necesario pero es una buena idea. Existen varias razones porque la mayoría de la gente borra este enlace:

  1. La próxima vez que se quiera descargar el código fuente de un nuevo kernel y no sea de un servidor Debian, al descomprimirlo sobreescribirá su antiguo directorio de código fuente del kernel por el nuevo debido a el enlace.

  2. La próxima vez que se descargue el código fuente del kernel desde un servidor de Debian no pasará nada al descomprimirlo, pero si se olvida de borrar el enlace y crear uno nuevo al nuevo código estará sin querer recompilando el kernel antiguo.

  3. Cuando se descarguen parches o código fuente del kernel y se descompriman en su directorio específico es mejor que no exista otro código que interfiera.

No es necesario eliminar el enlace, pero se recomienda. Es fácil volverlo a crear y no afecta a nada el que se borre. Para eliminarlo se ha de ejecutar lo siguiente como usuario root:

bash# cd /usr/src
bash:/usr/src# rm linux

Por último se recomienda que se guarde el paquete que contiene al nuevo kernel en otro lugar. Se puede crear otro disquete de arranque que contenga al nuevo kernel. No es una buena idea utilizar el disquete con el kernel antiguo ya que este no se ha comprobado mucho. Si se instaló el kernel-2.2.19 escriba lo siguiente como root (si es otro nombre cambielo):

bash# mkboot /boot/vmlinuz-2.2.19

Un apunte final, si necesita recompilar su kernel porque compró un nuevo hardware o faltó algo por habilitar en las opciones del kernel, lo único que se ha de hacer es un "make-kpkg clean" e incrementar en 1 la opción de revisión. A continuación se resumen los pasos:

bash$ cd /usr/src/linux

luego:

bash:/usr/src/linux$ make-kpkg clean

Reconfigurar el kernel:

bash:/usr/src/linux$ make xconfig

Y luego:

bash:/usr/src/linux$ make-kpkg --revision=custom.2.0 kernel_image