
Utilizo GRUB como gestor de arranque para mi sistema operativo personalizado. Quiero que ingrese al modo de gráficos por mí para no tener que hacerlo yo mismo en mi sistema. Sin embargo, antes de que GRUB pase el control al sistema operativo, el modo de vídeo vuelve a cambiar al modo de texto de 80x25. Intenté usarlo set gfxpayload=keep
pero parece que no hace nada. El modo que elegí (usando set gfxmode=1024x768x24
) funciona bien mientras GRUB aún está activo, pero antes de pasar el control al punto de entrada de mi sistema operativo, vuelve al modo de texto. ¿Estoy haciendo algo mal? Y aquí está mi grub.cfg
archivo:
set root=(hd0,1)
set gfxmode=1024x768x24
set gfxpayload=keep
insmod vbe
insmod vga
insmod video_cirrus
insmod gfxterm
set menu_color_normal=red/blue
set menu_color_highlight=green/blue
loadfont /boot/grub/fonts/unicode.pf2
terminal_input console
terminal_output gfxterm
set timeout=1
set default=0
menuentry "Trolololo" {
multiboot /kernel
boot
}
Respuesta1
Problema resuelto. Como sugirió Sawdust, analizar el código fuente de GRUB era un camino a seguir ( grub_multiboot_set_console
función en grub-2.00/grub-core/loader/multiboot.c
el archivo).
El problema era que mi kernel se carga mediante multiboot <filename>
comando y Linux se carga (en la mayoría de los casos) mediante linux <filename>
comando. La especificación de arranque múltiple requiere que se proporcione información sobre el modo de video preferido en el encabezado de arranque múltiple. Si no se proporciona esa información, GRUB vuelve al modo de texto antes de iniciar el kernel e ignora por completo gfxpayload
la variable.