Onde / quando um sistema Linux altera o modo de exibição do console?

5

Estou instalando o Debian Wheezy (7.0rc1) em uma caixa minha. Por motivos que não entro aqui, não quero que o framebuffer seja usado para a exibição do console durante a inicialização (nem depois). Para evitar isso, eu adicionei:

GRUB_TERMINAL=console
GRUB_GFXPAYLOAD_LINUX=keep

para /etc/default/grub . E, de fato, recebo o modo texto no grub e, durante os primeiros segundos, quando estou inicializando. Mas então, o console muda para esse framebuffer infernal! :

[    4.407402] Console: switching to colour frame buffer device 128x48
[    4.408544] fb0: nouveaufb frame buffer device

(esse é um trecho de /var/log/dmesg .)

Não consegui encontrar nenhum vestígio dele em nenhum dos scripts /etc/init.d . Eu pensei que talvez tenha algo a ver com o carregamento de módulos do kernel - também não achei nada interessante em /etc/modules ou /etc/modprobe.d .

Então, quando / onde isso acontece? E como posso evitar essa mudança?

    
por einpoklum 24.03.2013 / 22:21

2 respostas

8

(com base na @resultada de MichaelHampton )

O kernel do Linux define o modo de exibição, aparentemente, mesmo antes do processo init corre. Agora, o kernel pega os parâmetros do gerenciador de partida - então o que fazer é definir o parâmetro dizendo-lhe para não mudar o modo de exibição. No entanto, esta não é a história completa: depois que o modo de exibição foi definido, há também uma configuração de fontes que, por si só, modifica sua exibição; no Debian Wheezy, isso é feito por /etc/init.d/console-setup , então você também deve considerar o que ele faz exatamente.

Para ser mais concerte, o que você deve fazer é o seguinte:

  1. Em /etc/default/grub , adicione a linha

     GRUB_CMDLINE_LINUX="nomodeset"
    

    ou, se você já tiver uma configuração GRUB_CMDLINE_LINUX , anexe nomodeset a ela.

  2. Em /etc/default/console-setup , substitua

    FONTFACE="Fixed"
    

    com

    FONTFACE="VGA"
    

    ou, como alternativa, não execute /etc/init.d/console-setup no rcS unlevel (por exemplo, usando o comando update-rc.d ).

    Tanto quanto eu posso dizer, a fonte "VGA" é a mesma que você já deveria ter, então a mudança de fonte não deve ter nenhum efeito se você escolher isto. No entanto, eu não tenho certeza se isso é universalmente verdade, então talvez seja melhor evitar a mudança da fonte.

por 24.03.2013 / 22:57
3

Anexe o seguinte à linha de comando do kernel:

vga=normal nomodeset
    
por 24.03.2013 / 22:25