Como eu forço o GRUB a manter o modo de vídeo depois de mudar para o sistema operacional?

2

Eu uso o GRUB como um gerenciador de inicialização para meu sistema operacional personalizado. Eu quero que ele entre no modo gráfico para que eu não tenha que fazer isso sozinho no meu sistema. No entanto, antes que o GRUB passe 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 parece que não faz nada. O modo que escolhi (usando o conjunto gfxmode=1024x768x24 ) funciona bem enquanto o GRUB ainda está ativo, mas antes de passar o controle para o ponto de entrada do meu SO, ele volta ao modo de texto. Estou fazendo algo errado? E aqui está o meu arquivo grub.cfg :

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
}
    
por pvc 24.05.2015 / 23:12

1 resposta

1

Problema resolvido. Como a serragem sugeria, analisar o código-fonte do GRUB era um caminho a percorrer ( grub_multiboot_set_console function em grub-2.00/grub-core/loader/multiboot.c file).

O problema é que meu kernel é carregado pelo comando multiboot <filename> e o Linux é carregado (na maioria dos casos) pelo comando linux <filename> . A especificação de inicialização múltipla requer que as 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 retornará ao modo de texto antes de iniciar o kernel e ignora completamente a variável gfxpayload .

    
por 26.05.2015 / 17:19