martes, 3 de abril de 2007

Actualizar al kernel 2.6 sin compilar, en Slackware 11

Esta informacion la saque del blog de DhabyX "http://slackdhabyx.wordpress.com"

A veces cuando intentamos compilar un nuevo kernel 2.6, nos topamos con algunos problemas al momento de tratar de cargarlo, y nos sentimos mal cada vez que vemos un kernel panic.

Viendo que ésto es un problema que muchos quisieran solucionar fácilmente, pueden hacerlo fácilmente teniendo a la mano los CDs o el DVD de Slackware 11, y podrían tener un nuevo kernel 2.6 funcionando en 5 minutos ; para ello necesitamos hacer lo siguiente:

Pero antes de empezar debemos sacar unas copias de seguridad de los archivos que vamos a modificar:

# cp /boot/vmlinuz /boot/vmlinuz-copia
# cp /boot/System.map /boot/System.map-copia
# cp /etc/lilo.conf /etc/lilo.conf-copia

Primero hay que montar la unidad que contiene el disco de Slackware, si es la versión en CDs, tiene que ser el CD que contiene la carpeta extra, si es la versión en DVD no hay problema, en este caso la unidad donde tengo el DVD de Slackware se encuentra configurada en el fstab en /mnt/cdrom y que es mi unidad hdc.

$ su
# mount /mnt/cdrom

Luego debemos acceder a la carpeta extra/linux-2.6.17.13 e instalar todos los paquetes

# cd /mnt/cdrom/extra/linux-2.6.17.13
# installpkg kernel*.tgz

Hora solamente hay que hacer algunos cambios para poder iniciar con cualquiera de los dos kenels al iniciar nuestra maquina, lo primero es editar nuestro lilo.conf, crear un archivo initrd y verificar que todo este bien:

# pico /etc/lilo.conf

Si vamos al final de este archivo, encontraremos que solo tiene configurado el acceso a un kernel, entonces procedemos a añadir lo siguiente al final del archivo:

image = /boot/vmlinuz-generic-2.6.17.13
root = /dev/hda1
#/dev/hda1 es la partición donde tengo instalado el kernel,
#en este caso la carpeta /boot
label = Slack-2.6.17
initrd = /boot/initrd.gz
read-only

Guardamos el archivo y cerramos el editor pico. Ahora crearemos el archivo initrd.gz que es escencial para que nuestro nuevo kernel funcione bien:

# cd /boot

si nuestro sistema de archivos es ext3 debemos ejecutar lo siguiente
# mkinitrd -c -k 2.6.17.13 -m jbd:ext3 -f ext3

si nuestro sistema de archivos es reiserfs debemos ejecutar lo siguiente
# mkinitrd -c -k 2.6.17.13 -m reiserfs

Ahora haremos un pequeño cambio para que tengamos los dos kernels funcionando

# rm /boot/vmlinuz
# ln -s /boot/vmlinuz-ide-2.4.33.3 /boot/vmlinuz

Y para que nuestro nuevo kernel pueda correr bien debemos cambiar la carga de modulos:

# ln -sf /etc/rc.d/rc.modules-2.6.17.13 /etc/rc.d/rc.modules

Verificamos que todo este en orden:

# lilo

Si no nos devuelve ningún mensaje de error todo esta bien :-D . Pero si nos devuelve errores deberemos corregirlos según dónde este el error en el lilo.conf, si no logramos corregir el error y necesitamos apagar el PC debemos regresar todo a como estaba antes utilizando nuestras copias de seguridad :-D

# cp /boot/vmlinuz-copia /boot/vmlinuz
# cp /boot/System.map-copia /boot/System.map
# cp /etc/lilo.conf-copia /etc/lilo.conf
# ln -sf /etc/rc.d/rc.modules-2.4.33.3 /etc/rc.d/rc.modules

Ejecutamos lilo de nuevo y podemos proceder a apagar o reiniciar la PC.

# lilo

1 comentario:

Anónimo dijo...

Gracias por la ayuda no conseguia hacerlo de la otra forma y estaba a punto de dejarlo por imposible, y al ver la noticia lo volvi a intentar siguiendo esos pasos y lo consegui por fin!! Saludos y bonita pagina