Actualizando al kernel 2.6.10 en Slackware 10.1

Autor: Paco Revilla
URL: http://www.espaciolinux.com
Esta guía es una modificación del documento publicado en el taller Linux, titulado: Actualizando al kernel 2.6.7 en Slackware 10. Por motivo de claridad se han hechos modificaciones para adaptarlo al nuevo kernel 2.6.10 que la nueva versión 10.1 de Slackware incluye en su paquetería testing. Aunque el proceso para instalar este kernel es el mismo que ya antes se había explicado, ha habido la necesidad de aclararlo con sus correspondiente versión para que pueda ser de mejor utilidad para quien lo necesite.

Paquetes a utilizar
Lo primero que tenemos que hacer es identificar e instalar los paquetes necesarios para iniciar la configuración de nuestro nuevo kernel. La mayoría de los paquetes necesarios los podemos encontrar en el directorio testing/packages/linux-2.6.10 del segundo disco de instalación de Slackware 10.1. Tambíen podemos obtenerlo desde el FTP de Slackware.Los paquetes básico a instalar son:

* kernel-generic-2.6.10-i486-1.tgz
* kernel-modules-2.6.10-i486-1.tgz
* mkinitrd-1.0.1-i486-2.tgz (ubicado en slackware/a del primer disco)

En el directorio testing/packages/linux-2.6.10 encontraremos también los paquetes alsa-driver, kernel-headers y kernel-source que podemos instalar opcionalmente. No es necesario hacer un upgrade de nuestro actual kernel para instalar el 2.6.10, incluso es recomendable dejar intacto nuestro actual kernel por si llegara a fallar algo con el que estamos por instalar. Por lo tanto, hacemos una instalación completa de los paquetes:

# installpkg kernel-generic-2.6.10-i486-1.tgz
# installpkg kernel-modules-2.6.10-i486-1.tgz
# installpkg mkinitrd-1.0.1-i486-2.tgz

Configuración de la imagen initrd
Para poder utilizar el nuevo kernel es necesario hacer una imagen initrd si estamos utilizando los sistema de archivos ext3 o reiserfs en la partición root (/). initrd, es un pequeño sistema de archivos Linux que se carga en la RAM e inicia junto con el kernel pero antes de montar la partición root; esto nos servira para añadir módulos extras al kernel 2.6.10, por ejemplo el soporte para los sistemas de archivos ext3 y reiserfs. Para las particiones root con sistemas de archivos ext2 no es necesario crear la imagen initrd, si es este el caso podemos omitir las siguientes instrucciones y pasar a configurar el gestor de arranque.

En una terminal nos cambiamos al directorio /boot y nos logueamos como root:

$ cd /boot
$ su
password:


Una vez como root ejecutamos lo siguiente si nuestro sistema de archivos es reiserfs:

# mkinitrd -c -k 2.6.10 -m reiserfs


En caso de que tengamos un sistema de archivos ext3 podremos ejecutarlo de esta manera:

# mkinitrd -c -k 2.6.10 -m jbd:ext3 -f ext3 -r /dev/hdxy


En donde x es el numero de disco de nuestro sistema y donde y es el numero de la partición root (ejemplo: /dev/hda3)

Lo que haremos con el comando mkinitrd es hacer un árbol de archivos con los módulos a cargar al kernel, y también vamos a crear la imagen initrd.gz que será la que llamaremos al iniciar el sistema mediante el gestor de arranque (GRUB, LILO, etc).


Configuración del gestor de arranque.
Como paso final debemos de actualizar el gestor de arranque añadiéndole una nueva entrada para el kernel. Para hacer esto podemos hacer una duplicación de la entrada ya existente y hacerle los cambios necesarios para adaptarlo a las nuevas necesidades.

En el caso de GRUB procederemos a abrir el archivo de configuración:

# vi /boot/grub/menu.lst


Encontraremos la entrada actual del sistema, ejemplo:

title Slackware-10.1
kernel (hd0,6)/vmlinuz-ide-2.4.29 ro root=/dev/hda8


La copiamos, la duplicamos en el archivo de configuración de GRUB y la modificamos para el kernel 2.6.10:

title Slackware-2.6.10
root(hd0,6)
kernel=/vmlinuz-generic-2.6.10 ro root=/dev/hda8
initrd=/initrd.gz


En el ejemplo podemos ver lo siguiente:

root(hd0,6) = Con esto indicamos donde esta la partición boot donde están el kernel y la imagen initrd.
root=/dev/hda8 = Aquí se indica donde esta la partición root del sistema (/).
initrd=/initrd.gz = Esta es la nueva línea que añadiremos para cargar la imagen initrd y con ello el soporte ext3 y reiserfs.

Los valores root(hd0,6) y /dev/hda8 corresponden al ejemplo mostrado, por lo cual es necesario cambiarlos para adaptarlos a la configuración del sistema en donde estamos trabajando

En el caso de LILO abriremos el archivo de configuración de la siguiente manera:

# vi /etc/lilo.conf


Copiamos y duplicamos la entrada ya existente del kernel 2.4.29 y le añadimos la línea initrd, ejemplo:

image = /boot/vmlinuz-generic-2.6.10
initrd = /boot/initrd.gz
root = /dev/hda8 (acá colocamos la partición correspondiente)
label = Slack-2.6.10 (si el nombre es demasiado largo no lo toma)
read-only

Observacion: en "label = Slackware-2.6.10" es demasiado largo, se los dice lilo cuando lo reinstalan, coloque algo mas corto.
Despues de salvar la nueva configuración ejecutamos en la terminal:

# lilo


Nota: Para los sistemas ext2 no es necesario incluir la linea initrd, sólo es necesario la linea del kernel. Las entradas son sólo un ejemplo de configuración, por lo cual es necesario adaptarlas a la configuración del sistema con que se trabaja.

Despues de terminar de configurar el gestor de arranque reiniciamos el sistema y accedemos con el nuevo kernel. En caso de que no surja ningún imprevisto y ya probado el funcionamiento del sistema con el nuevo núcleo, opcionalmente podemos desinstalar todo los componentes del kernel 2.4.29.

Los problemas mas comunes a considerar durante la carga del kernel son un llamamiento erroneo del nuevo kernel mediante el gestor de arranque o el que no se detectara correctamente algún dispositivo o configuración previa. Por eso es importante mantener instalado el kernel 2.4.29 hasta estar completamente seguro del funcionamiento del núcleo 2.6.10 con el sistema.

Comentarios
Para cualquier duda, observación o sugerencia sobre este documento puedes hacerlo através del siguiente enlace:


Licencia original del documento
Derechos de Autor © 2005 por Paco Revilla para espaciolinux.com.
Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre GNU, Versión 2 o cualquier otra versión posterior publicada por la Free Software Foundation; con la Seccion Invariante "Licencia original del documento". Una copia de la licencia es proveída en el sitio a través de este enlace: Licencia de Documentación Libre GNU.