
Eu uso o GRUB como gerenciador de inicialização para meu sistema operacional personalizado. Quero que ele entre no modo gráfico para mim, para que não precise fazer isso sozinho no meu sistema. No entanto, antes do GRUB passar o controle para o sistema operacional, o modo de vídeo é alterado novamente para o modo de texto 80x25. Eu tentei usar set gfxpayload=keep
, mas não parece fazer nada. O modo que escolhi (usando set gfxmode=1024x768x24
) funciona bem enquanto o GRUB ainda está ativo, mas antes de passar o controle para o ponto de entrada do meu sistema operacional ele volta ao modo texto. Estou fazendo algo errado? E aqui está meu grub.cfg
arquivo:
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
}
Responder1
Problema resolvido. Como sugeriu a serragem, analisar o código-fonte do GRUB era um caminho a percorrer ( grub_multiboot_set_console
função no grub-2.00/grub-core/loader/multiboot.c
arquivo).
O problema é que meu kernel é carregado por multiboot <filename>
comando e o Linux é carregado (na maioria dos casos) por linux <filename>
comando. A especificação de inicialização múltipla exige que informações sobre o modo de vídeo preferido sejam fornecidas no cabeçalho de inicialização múltipla. Se essa informação não for fornecida, o GRUB volta para o modo texto antes de iniciar o kernel e ignora completamente gfxpayload
a variável.