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+C
No 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=true
a /etc/default/grub
poresta publicación SE. Ninguno de los dos ha ayudado.
Al reiniciar, termino en la grub>
línea de comando, presumiblemente porque grub2-mkconfig
nunca 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)
Naturalmente, supongo que hay algún problema con mi initramfs-4.19.37.img
que 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 .config
archivos 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 esxfs
, ¿cuál es el sistema de archivosinitramfs
? ¿IPPI? - En la
grub>
línea de comando,ls /
produce lo que espero ver en/boot
. Contiene todos mis archivosvmlinuz-*
yinitramfs-*.img
- Mi sistema de archivos es
xfs
- 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-latency
modelo de preferencia. Por mi vida no puedo entender qué hice diferente entonces.
Entonces, las preguntas finales son: ¿Qué hay de malo en la initramfs
forma de estas compilaciones? ¿Qué más puedo hacer para validar su integridad? ¿Hay algún .config
cambio que deba hacer al compilar el kernel para el xfs
sistema 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.