Error al montar UUID=xxx en /sysroot: no existe dicho dispositivo: ocurre después de la instalación del kernel de Linux

Error al montar UUID=xxx en /sysroot: no existe dicho dispositivo: ocurre después de la instalación del kernel de Linux

Después de intentar instalar un kernel integrado y reiniciar, recibo el error:

montaje: montaje UUID=59c56381-e5ec-4a8b-8c2e-f9c6a66d524c en /sysroot falló: no existe tal dispositivo

¿Por qué está pasando esto? ¿Cómo puedo solucionar este problema para que arranque correctamente?

Acerca del sistema

  • Alpine Linux 3.12_alpha20200319 (borde) - Alpine Linux Virtual
  • Núcleo 5.4.31-0-virt
  • Ejecutando dentro de VirtualBox

Pasos de construcción del kernel

wget https://mirrors.edge.kernel/pub/linux/kernel/v5.x/linux-5.4.30.tar.xz
tar -xf linux-5.4.30.tar.xz
cp /boot/config-virt /home/name/build/.config
make -C /home/name/linux-5.4.30 O=/home/name/build listnewconfig
make -j4 -C /home/name/linux-5.4.30 O=/home/name/build
cd /home/name/build
make modules_install

No estoy seguro de los siguientes pasos:

cp System.map /boot/System.map-virt
cp arch/x86_64/boot/bzImage /boot/vmlinuz-virt
cp .config /boot/config-virt

No lo ejecuto make installporque pasa arch/x86/boot/bzImage. Debido a esto, supongo que se está instalando 32 bits y 64 bits. Así que estoy intentando instalarlo manualmente.

Mi archivo extlinux.conf:

DEFAULT menu.c32
PROMPT 0
MENU TITLE Alpine/Linux Boot Menu
MENU HIDDEN
MENU AUTOBOOT Alpine will be booted automatically in # seconds
TIMEOUT 30
LABEL virt
  MENU LABEL linux virt
  LINUX vmlinuz-virt
  INITRD initramfs-virt
  APPEND root=UUID=59c56381-e5ec-4a8b-8c2e-f9c6a66d524c moudles=sd-mod,usb-storage,ext4 quiet rootfstype=ext4

MENU SEPARATOR

Intentos de arreglar

(Todo lo siguiente sigue dando como resultado el mismo error)

  • Ejecutando mkinitfsen /el directorio antes de reiniciar
  • Correrextlinux --install /boot
  • Ejecutándolo make installen el directorio de compilación y cambiando la línea extlinux.conf LINUX vmlinuz-virtaLINUX vmlinuz
  • Intenté cambiar los controladores de almacenamiento de VirtualBox a AHCI, virtio-scsi y PIIX4.

Puede ser útil:

Verifiqué el UUID especificado en el error y extlinux.conf. Identifica /dev/sda3. Sin embargo, cuando entro al shell de recuperación de emergencia después del inicio fallido y verifico el directorio /dev, no está presente. No tengo idea de por qué.

lsmod muestra que no hay módulos cargados. Supongo que esto no debería estar pasando.

Si continúo arrancando escribiendo, exitaparece el pánico del kernel.Captura de pantalla del pánico del kernel

Archivos

.config -https://github.com/alpinelinux/aports/blob/master/main/linux-lts/config-virt.x86_64

extlinux.conf -https://pastebin.com/QMkePsqS

mkinitfs.conf -https://pastebin.com/rksn7GcN

Respuesta1

Como se menciona en la publicación,

lsmod muestra que no hay módulos cargados. Supongo que esto no debería estar pasando.

el problema se debía a que los módulos no se cargaban en el kernel. La versión actual del kernel en ejecución era 5.4.31-0-virt wand y la versión que se estaba construyendo era 5.4.30. Los módulos que se estaban instalando se estaban colocando en el /lib/modules/5.4.30directorio. Esto provocó que el disco RAM inicial (initramfs) se compilara sin los módulos correctos para el kernel y, por lo tanto, no se cargara en el arranque.

Para solucionar este problema, después de instalar los módulos del kernel al compilar initramfs, se debe utilizar el siguiente comando:

mkinitfs -o /boot/initramfs-virt 5.4.30

Este comando incluye los módulos instalados para el kernel 5.4.30 en initramfs en lugar de usar la uname -rversión predeterminada (en este caso 5.4.31-0-virt). Luego, el kernel puede cargar los módulos -> leer los discos -> arrancar desde el disco requerido.

información relacionada