Solucionar el típico error de “No kernel modules founds for Linux”
May 11th, 2008 by BusindreEs común a la hora de compilar / recompilar un kernel encontrarse con un mensaje “Kernel Panic (No kernel modules founds )” como el mostrado a continuación, consecuencia de una mala imagen initrd. El error se resuelve fácilmente con el uso correcto de la herramienta “mkinitrd”, que crea imágenes initrd, utilizadas con frecuencia para la precarga de módulos de dispositivo de bloque como IDE, SCSI o RAID, necesarios lógicamente para acceder al sistema de ficheros raiz del sistema. Al crear una imagen initrd correctamente e indicarle al cargador de arranque que la ejecute, deberíamos solucionar el molesto error. Veamos como se utiliza de forma básica con un ejemplo.
Error:
No kernel modules founds for Linux 2.6.29.5-busi
mount : mounting /dev/sda1 on /mnt failed
ERROR: No /sbin/init found on root dev
not mounted. Trouble ahead
Kernel panic not syncing
Solución:
Crear un fichero initrd.img correcto indicándole todos los parámetros pertinentes:
# mkinitrd -o /boot/initrd.img-busi /lib/modules/2.6.21.5-busi/ -k 2.6.29.5-busi -f xfs -r /dev/sda1
Opciones usadas:
-o Indicamos que modulos debe usar y donde guardaremos el fichero initrd generado (/boot).
-k Versión de los módulos del kernel a usar (/lib/modules/XXXXX).
-f Sistema de ficheros de la partición raíz.
-r Indicamos la partición raíz donde está el sistema operativo a arrancar.
Ejemplos de cargador de arranque:
Lilo:
image = /boot/vmlinuz
root = /dev/sda1
label = Slackware_Nuevo
initrd = /boot/initrd.img-busi
read-only # Partitions should be mounted read-only for checking
Grub:
title Slackware_Nuevo
root (hd1,0)
kernel /boot/vmlinuz root=/dev/sda1 ro
initrd /boot/initrd.img-busi
savedefault
Posted in Linux |