GRUB2 e kernel vga = parâmetro

13

De acordo com a documentação, o uso do parâmetro vga= kernel está obsoleto no GRUB2. O fato de alguns kernels mais novos não suportarem mais em certos adaptadores não é uma preocupação, já que a placa de vídeo que tenho é de sete a oito anos.

O problema agora é que eu gostaria de usar um modo de texto de maior resolução, como 80x50 em vez dos 80x25 caracteres padrão. Aparentemente, todos os modos gráficos (VBE / VESA) estão fora de questão para esta placa gráfica (ATI Rage XL) - a lista de modos disponíveis mostra apenas 0 a 6 . 6 é 80x60 , mas parece horrível, então gostaria de ir com 1 (80x50).

Eu vi 80x50 e 80x60 funcionando depois de obter a lista de modos disponíveis sempre que o modo padrão não era suportado (com o padrão comentado GRUB_TERMINAL=console ) e fui solicitado a escolher.

Como posso definir o modo, se não for preciso defini-lo na linha de comando e do kernel, cada uso de GRUB_GFXMODE (com ou sem pré-carregamento de vbe module) e GRUB_GFXPAYLOAD_LINUX=keep falha? Falha como em: a tela fica em branco porque é um modo gráfico inválido para a placa que tenho nesta máquina?

Minha idéia seria passar nomodeset para o kernel ainda, mas o gerenciador de inicialização ainda teria que configurar o modo gráfico. E não consigo ver nenhuma opção além do parâmetro vga= kernel para fazer isso.

Observação: os comandos vbetest e videotest no console do GRUB2 irão em branco na tela e, em seguida, a tela alternará para o modo de suspensão depois de afirmar que não há entrada de vídeo. vbeinfo e videoinfo mostram alguns modos disponíveis além dos mencionados acima, mas não há menção de onde isso deve ser definido. Além disso, ao passar vga=1 (sem nomodeset ) na linha de comando do kernel, vejo um breve aviso sobre sua desativação, mas é muito longo para ler completamente - e a saída não aparece em dmesg .

    
por 0xC0000022L 04.04.2013 / 21:16

2 respostas

8

Talvez seja obsoleto pelo grub2, no entanto, ele ainda deve funcionar e deve continuar a funcionar. Ele funciona para mim usando grub2 e debian wheezy, assim como rhel7.3 (confirmado 01-2017). Ainda de acordo com a documentação oficial, não é desaprovado:

link

If the command line provided by the boot loader is entered by the user, the user may expect the following command line options to work. They should normally not be deleted from the kernel command line even though not all of them are actually meaningful to the kernel.

vga= here is either an integer (in C notation, either decimal, octal, or hexadecimal) or one of the strings "normal" (meaning 0xFFFF), "ext" (meaning 0xFFFE) or "ask" (meaning 0xFFFD). This value should be entered into the vid_mode field, as it is used by the kernel before the command line is parsed.

O link mostrará tudo o que você precisa saber. Abaixo alguns exemplos de resoluções que uso comumente:

vga=0x31b --> 1280x1024x32
vga=0x34d --> 1600x900x32
vga=0x31e --> 1600x1200x32

Para obter uma lista de modos suportados, use:

vga=ask

Para uma tela de 1024 × 768x24 que encontrei funciona em praticamente todos os sistemas e monitores que uso (desta vez em decimal e em hexadecimal):

vga=792
vga=0x318
    
por 13.02.2014 / 04:18
1

O parâmetro vga ainda é suportado com os comandos linux16 e initrd16, portanto, se você alterar "linux" para "linux16" ou "initrd" para "initrd16", poderá obter o comportamento antigo. Não sei quais outras alterações causam, mas funcionou bem o suficiente para mim. : -)

    
por 10.10.2013 / 12:59