Hace pocos días al hacer una actualización en Debian, se me instaló una nueva versión del kernel, hasta ahora la que usaba era la 2.6.22-2 y ésta nueva era la 2.66.22-3.
Las actualizaciones de un kernel a otro implican corrección de errores, soporte para nuevo hardware… Imagino que en este caso posiblemente la actualización no era necesaria, teniendo en cuenta que hasta la fecha todo me funcionaba correcto y sin problemas, y tampoco hago uso de ninguna configuración o hardware “extra” y que todo excepto la aceleración de la tarjeta gráfica que ya añadí en su momento, lo cogía por defecto, pero bueno ahí que le di.
En mi caso tras una actualización del kernel hay dos cosas que siempre tengo que tener en cuenta, en primer lugar la edición del menú GRUB.
Normalmente esto no es necesario, ya que se añade automáticamente al menú de arranque, pero hasta que tome una decisión (o se me quite la pereza) comparto dos distribuciones linux en la misma máquina, Debian y Ubuntu.
La última distribución linux instalada fue Ubuntu, así que por decirlo de una manera entendible el GRUB que manda es el de Ubuntu, y este tipo de actualizaciones no se ven reflejadas, por lo que toca editarlo a mano para que en el próximo reinicio aparezca y poder seleccionarlo para entrar al sistema.
No sé si existe alguna manera de que esto se haga automáticamente, ¿alguien lo sabe? Yo desde que comparto estas dos distros lo hago así.
Después del primer reinicio como no aparece mi nuevo kernel entro como siempre, en el antiguo de Debian, y abro el archivo menu.lst que se encuentra dentro de /boot/grub. En este archivo es donde se encuentran todas las entradas del menú de arranque y ahí aparece el kernel nuevo junto con los anteriores, pero a mí sólo me interesan las nuevos, que sería algo así:
title Debian GNU/Linux, kernel 2.6.22-3-686
root (hd0,2)
kernel /boot/vmlinuz-2.6.22-3-686 root=/dev/sda3 ro
initrd /boot/initrd.img-2.6.22-3-686
savedefaulttitle Debian GNU/Linux, kernel 2.6.22-3-686 (single-user mode)
root (hd0,2)
kernel /boot/vmlinuz-2.6.22-3-686 root=/dev/sda3 ro single
initrd /boot/initrd.img-2.6.22-3-686
savedefault
Estas líneas las añado al menu.lst, pero de Ubuntu.
No tengo la partición montada en Debian, así que las copio en un archivo de texto y al entrar en Ubuntu edito el archivo:
sudo gedit /boot/grub/menu.lst
Y las pego donde quiero que se muestren, por ejemplo por encima del kernel antiguo.
Si tuviera la partición montada no haría falta salir y volver a entrar ya que podría editarlo desde ahí mismo, eligiendo la partición y ruta correspondiente, por ejemplo en:
/media/sda5/boot/grub/menu.lst.
Con esto al reiniciar el equipo ya aparece la nueva entrada y puedo seleccionarla.
Ahora viene el segundo paso a tener en cuenta. Con las tarjetas gráficas NVIDIA al ocurrir este tipo de actualizaciones no te deja entrar en modo gráfico, y da un error en las X. Esto ocurre porque cuando instalé el driver y configuré lo hice para el 2.6.22-2, ahora con el 2.6.22-3 no lo tiene. Creo recordar que cuando tenía una ATI esto no ocurría, sí me dejaba entrar en modo gráfico, pero evidentemente había perdido la aceleración gráfica y tenía igual que ahora que volver a configurarlo.
En cualquier caso, siempre que hay una actualización del kernel hay que volver a configurar o añadir las opciones extras que pusimos anteriormente, por ejemplo una webcam, una tarjeta para wifi inalámbrica, etc
Yo los drivers uso son los que descargué de la página web del fabricante y pensaba que los había borrado pero no, seguían estando en mi carpeta de descargas, si no bastaría con volver a bajarlos, así que manos a la obra, me logueo como root y me cambio a donde se encuentra el archivo para volver a reinstalarlo.
sh NVIDIA-Linux-x86-100.14.19-pkg1.run
La aplicación detectará que ya existen, los borrará y los volverá a instalar y configurar para este nuevo kernel, después shutdown -r now para reiniciar y todo perfecto.
Lo que ocurre es que si ahora quiero volver a entrar en el kernel antiguo volverá darme el mismo error en las x, ahora lo tengo en el nuevo pero lo he perdido en el viejo… De momento me da igual porque si este me funciona bien será el que usaré, pero encontré un tip para poder tenerlo en más de un kernel, aunque todavía no lo he probado.

Por donJM el 6 Dic, 2007 | Responder
Ya que tienes debian testing, para los módulos del kernel hay una manera fácil de compilarlos y es el module-assistant. Ejemplo: Yo tengo una tarjeta ATI y una wifi con chipset atheros, pues hago así:
# apt-get install module-assistant
# m-a prepare
# m-a a-i fglrx
# m-a a-i madwifi
Para nvidia creo recordar que había que hacer m-a a-i nvidia. Me parece que teniendo dos núcleos funcionaría para el que compilas sí y para el otro no, mira a ver. La ventaja de esto es que es fácil.
Por Avería el 6 Dic, 2007 | Responder
Hummm muy interesante lo del module-assistant, ahora como ya tengo funcionando la gráfica no me es imprescindible, pero te aseguro que para la próxima haré uso él.
He encontrado en crysol una receta para hacerlo con la nvidia, que dejo aquí y en el delicious del blog el enlace por si alguien más le interesa.
Gracias donJM por la sugerencia