Arranque de un núcleo de Linux recién comstackdo

Empecé a leer el libro Controladores de dispositivos esenciales de Linux. Estoy siguiendo el process para comstackr y arrancar en un kernel nuevo. Sin embargo, no puedo iniciar en el kernel recién comstackdo: selecciono el nuevo kernel en grub y luego … nothing … la pantalla permanece igual.

Estos son los pasos que estoy tomando, como se describe en el libro (estoy usando kernel 2.6.24 ya que es en lo que se basa el libro):

cd /usr/src/linux-2.6.24 # the base dir of the kernel I downloaded make clean cp arch/x86/configs/i386_defconfig .config make bzImage cp arch/x86/boot/bzImage /boot/vmlinuz 

El libro dice que:

Es posible que deba alertar a su gestor de arranque sobre la llegada de la nueva image de arranque. Si está utilizando el gestor de arranque GRUB, se da count de esto automáticamente.

Bueno, no lo resolvió automáticamente en mi caso, ya que no había opción de seleccionar este kernel en GRUB. Así que lo hice manualmente escribiendo update-grub en la terminal. Y esto tampoco funcionó. Sin embargo, una vez que cambié el nombre de file de vmlinuz a vmlinuz-2.6.24 y escribí update-grub, lo recogió. Así que en la página 11 del libro parece que ya quedan muchas cosas por hacer.

El libro dice que luego reinicie la máquina.

De todos modos, ahora puedo seleccionar este kernel en GRUB pero, como dije antes, no arranca correctamente, la pantalla se queda en blanco y nunca cambia. Entonces, ¿me estoy perdiendo algo? He seguido exactamente las instrucciones en el libro. Estoy después de gastar 50 € en este libro y ahora no puedo pasar de la página 11 debido a este problema.

Considero que el hecho de que estoy usando Ubuntu en VirtualBox no es un problema. Acabo de entrar en grub durante el arranque de la máquina virtual Ubuntu y luego selecciono el kernel recién comstackdo, no veo cómo podría ser un problema.

Ubuntu tiene un script importado de Debian que hace la installation por usted. Después de comstackr el kernel solo ejecuta sudo make modules_install install y tu kernel se instalará correctamente.

Edición posterior: Aquí está el script que usan Ubuntu y Debian. El kernel Makefile lo llama automáticamente cuando emite los commands de installation anteriores y realiza la installation específica de la distribución.

Su file grub.conf debería tener la input similer a este

 title My Linux Kernel root (hd0,0) kernel /boot/gentoo-kernel root=/dev/sda1 

su núcleo de Ubuntu podría tener algo así como

 initrd /boot/initrd.img 

no deberías necesitar esto al comstackr un kernel en tu hardware. Esto podría estar causando tu problema.

Debería comentarme su file grub.conf y lo echaré un vistazo. de lo contrario, su configuration puede ser la culpable.

Es posible que el kernel anterior no tenga los controlleres que necesita para el hardware más nuevo.

Un sistema ubuntu más nuevo no volverá a ser el viejo de una versión kernel sin un montón de problemas.

podrías probar un ubuntu anterior que ejecute una versión cercana a esa versión del kernel o la versión del kernel más nueva de kernel.org.

Cada distribución de Linux tiene su propio mecanismo y política sobre la implementación del package. Esto es lo mismo con Kernel. La mayor parte de la distribución oculta el process de compilation con sus herramientas, que en su mayoría proporcionan packages binarys.

Si desea comstackr un kernel personalizado en una distribución de Linux específica, debe seguir esta distribución de instrucciones sobre cómo hacerlo a su manera sin romper su sistema.

Ubuntu tiene su forma específica, lo mismo para Achlinux, lo mismo para Redhat, o Gentoo.

Entonces, para Ubuntu, siga la documentation aquí https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel