Grub2: é possível desabilitar os drivers gráficos através do comando de inicialização do kernel?

4

Perguntas

Aqui estão as minhas perguntas: é possível desativar o driver fglrx Linux ou fazer alguma coisa para suprimir a funcionalidade (por exemplo, aceleração 3D) que não é compatível com hardware cruzado por meio de uma configuração do grub? Se sim, como isso seria feito?

Especificamente, eu configurei meu ambiente de desenvolvimento de software preferencial em um SSD que eu uso em várias máquinas, apenas algumas delas com GPUs Radeon discretas - as outras têm iGPUs da Intel. Nas máquinas com GPUs Radeon, o gmd precisa que os drivers fglrx sejam executados sem problemas (a aceleração 3D é particularmente justa sem eles). Eu preciso ser capaz de criar / selecionar opções de inicialização no grub que me permitem inicializar em um dispositivo Intel usando o iGPU ou um dispositivo AMD com GPUs Radeon.

Todas as informações que encontrei sobre a modificação do menu de boot do grub estão desatualizadas, então eu pedi esclarecimentos para a SU.

Antecedentes

Eu tenho um dual boot configurado no meu PC: o Windows 7 em um SSD e o Ubuntu Gnome 14.04 em outro (eu uso o Ubuntu principalmente para desenvolvimento de software). Recentemente, atualizei meu PC de algumas Radeon HD 7700s para um AMD R9 280, quando os drivers da radeon pararam de funcionar para a aceleração 3D, fazendo com que tudo gaguejasse. Então mudei para fglrx e todos os problemas cessaram. Tudo estava bem no microcosmo eletrônico da minha área de trabalho.

O único problema é que eu transfiro este Ubuntu SSD de máquina para máquina, enquanto eu pulo entre escritórios, casas e cidades. Nem todas as máquinas possuem GPUs Radeon, o que pode causar problemas com os drivers fglrx. Ainda hoje, por exemplo, entrei em um escritório e coloquei meu SSD no computador que recebi; tem uma CPU Intel e não possui uma GPU discreta. O Grub mostraria minhas opções de inicialização como normais, mas minhas tentativas de iniciar o Ubuntu (mesmo no modo gráfico "à prova de falhas") falhariam. Tive a sorte de ter um pendrive ao vivo comigo, então inicializei a distro ao vivo, montei / chrooted no SSD, removi / purgou fglrx e depois reiniciei.

Esta não é realmente uma solução ideal. A solução ideal é criar uma opção de menu grub para inicializar sem aceleração 3D específica do fglrx.

Mais alguns detalhes específicos

root@toor:/$ grub-install --version
grub-install (GRUB) 2.02~beta2-9ubuntu1.3
root@toor:/$ uname -orvp
3.16.0-50-generic #67~14.04.1-Ubuntu SMP Fri Oct 2 22:07:51 UTC 2015 x86_64 GNU/Linux

Enquanto os drivers fglrx são instalados, a inicialização em uma máquina Intel resulta em um fenômeno bastante irritante: a tela terá uma legenda verde dizendo algo como "Iniciando o servidor web apache ...", que retornará constantemente, não importa o virtual terminal está selecionado. Demorou cerca de 5 minutos a iniciar sessão e sudo reboot porque o ecrã com texto verde continuava a ser utilizado a cada 2-10 segundos (temporização descontrolada e imprevisível). Acionar ctrl + alt + del ocasionalmente não faria com que a máquina fosse reinicializada ou, às vezes, atrasaria por meio minuto ou mais antes de responder. No entanto, quando ele respondeu, a tela inicial do gdm apareceria muito brevemente antes de ser reinicializada.

    
por Jonathan Voss 15.10.2015 / 04:11

1 resposta

5

Você deve usar o parâmetro nomodeset :

nomodeset

The newest kernels have moved the video mode setting into the kernel. So all the programming of the hardware specific clock rates and registers on the video card happen in the kernel rather than in the X driver when the X server starts.. This makes it possible to have high resolution nice looking splash (boot) screens and flicker free transitions from boot splash to login screen. Unfortunately, on some cards this doesnt work properly and you end up with a black screen. Adding the nomodeset parameter instructs the kernel to not load video drivers and use BIOS modes instead until X is loaded.

Desta forma, você pode inicializar com segurança e, em seguida, distribuir para X o negócio de selecionar a unidade apropriada para suas necessidades. Você pode até decidir não fazer programação alguma, e ver se o comando simples

    dpkg-reconfigure xserver-xorg

(isso funciona no Debian e derivados, que é o seu caso) pode fazer no seu caso.

EDITAR:

é possível desativar completamente uma inicialização gráfica. Copiar

      cp /etc/default/grub /etc/default/grub-orig

A edição / etc / default / grub, comente esta linha,

      #GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

modifique esta linha para se parecer com

      GRUB_CMDLINE_LINUX="text"

descomente esta linha,

      GRUB_TERMINAL=console

Salvar, executar

       update-grub

quando você reiniciar, se você não tiver uma instalação quebrada, você se classificará no modo de texto. Depois de reconfigurar o X, você pode iniciar a sessão gráfica com

       startx
    
por 15.10.2015 / 07:22