El kernel personalizado produce initramfs que no son de arranque - CentOS 7

El kernel personalizado produce initramfs que no son de arranque - CentOS 7

He estado construyendo mi propio kernel (4.19.37) y no tengo problemas durante la compilación ( make) o la instalación ( make install_modules+ make install). Todo parece ir bien hasta que lo ejecuto grub2-mkconfig -o /boot/grub2/grub.cfg. Al ejecutar este comando, grub encuentra mis vmlinuz-*kernels nuevos y existentes, /boot/así como sus correspondientes archivos initramfs-*.img. Sin embargo, en ese momento el sistema se cuelga indefinidamente (> varias horas). Ctrl+CNo parece detenerlo y debo reiniciar. He investigado este problema y lo único que he encontrado que podría ser un problema es el sondeo de los discos de extracción para sistemas operativos de arranque, que eliminé eliminándolos y agregándolos GRUB_DISABLE_OS_PROBER=truea /etc/default/grubporesta publicación SE. Ninguno de los dos ha ayudado.

Al reiniciar, termino en la grub>línea de comando, presumiblemente porque grub2-mkconfignunca terminé y dañé el archivo de configuración de grub. Aquí puedo cargar tanto el kernel antiguo como el nuevo sin ningún problema, así como initramfs, pero cuando ejecuto el arranque me entra un pánico en el kernel:

end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)

finalizar el pánico del kernel: no se sincroniza: VFS: no se puede montar root fs en el bloque desconocido (1,0)

Naturalmente, supongo que hay algún problema con mi initramfs-4.19.37.imgque fue creado por mi proceso de construcción. Como experimento, probé si podía cargar el nuevo kernel, pero usando el antiguo initramfs (4.19.10) y, de hecho, arranca en emergency mode. Sin embargo, no puedo hacer lo contrario, un kernel antiguo con initramfs nuevos. Entonces algo anda mal con mi nueva imagen de initramfs.

Cada vez más inteligente, mi último experimento fue montar la imagen initramfs antigua y nueva con mount. Ambos se montan correctamente sin errores y parecen tener estructuras de archivos idénticas. También he comparado mis .configarchivos nuevos y antiguos para las compilaciones del kernel, y las diferencias son triviales.

Algunas otras notas/observaciones:

  • En la imagen de arriba, puede ver List of all partions:que no produce nada, por lo que me pregunto si hay algún problema con el tipo de sistema de archivos. Mi disco duro es xfs, ¿cuál es el sistema de archivos initramfs? ¿IPPI?
  • En la grub>línea de comando, ls /produce lo que espero ver en /boot. Contiene todos mis archivos vmlinuz-*yinitramfs-*.img
  • Mi sistema de archivos esxfs
  • Probé varias otras versiones del kernel con los mismos resultados.
  • Dos veces tuve compilaciones e instalaciones exitosas, una vez fue el kernel existente (4.19.10), fue una actualización y la segunda vez con el mismo kernel con un low-latencymodelo de preferencia. Por mi vida no puedo entender qué hice diferente entonces.

Entonces, las preguntas finales son: ¿Qué hay de malo en la initramfsforma de estas compilaciones? ¿Qué más puedo hacer para validar su integridad? ¿Hay algún .configcambio que deba hacer al compilar el kernel para el xfssistema de archivos?


Descargo de responsabilidad: Entonces, esto en realidad es una continuación deesta pregunta, pero he simplificado un poco el problema. Alguna información de fondo puede ser relevante.

información relacionada