Congelar na inicialização com erro “fb: alternando para radeondrmfb do EFI VGA”

4

Vou começar dizendo que tenho procurado alta e baixa por uma solução, e a coisa mais próxima que encontrei foi este tópico acima em Pergunte diferente .

Background : Eu tenho um MacBook Pro 1 em dificuldades que estou tentando dar uma segunda vida usando o Linux para fazer algum trabalho de desenvolvimento em C ++. Eclipse é a minha IDE de escolha (principalmente para que eu possa ser consistente com outros computadores que eu tenho em casa), então eu meio que preciso de X / a-GUI-de-algum tipo. Eu completei uma instalação simples do Debian (Jessie) usando o build i686, e o sistema é muito sólido. No entanto, o sistema congela com essa mensagem de erro na inicialização:

fb: switching to radeondrmfb from EFI VGA

A correção encontrada no Think Different foi adicionar nomodeset como uma opção de inicialização. Isso me coloca no sistema, e é razoavelmente utilizável, mas pode ser melhor, tenho certeza. Algumas informações sobre a configuração:

  • Debian (Jessie) construir
  • Eu tentei recompilar um kernel 3.x para ver se era algo no kernel 4.x mais novo, mas o problema persiste
  • Usando o rEFInd mais recente para inicializar no sistema
  • lspci -nnk relatórios VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] RV530/M56-P [Mobility Radeon X1600] [1002:71c5] para minha placa gráfica

O problema é semelhante a isso , que também não tem resposta. Tem sido quase uma década inteira (se não mais) desde que eu joguei com o Linux (pense nos kernels da série 2.2.x quando o PowerPC era de ponta), então algumas dessas coisas são muito novas para mim. Então, algumas perguntas de alto nível.

  • O que diabos é nomodeset e o que ele faz? A resposta mais próxima que eu encontrei é que o nomodeset diz aos kernels Linux (mais recentes) para não fazer nenhum trabalho pesado com a placa de vídeo - presumivelmente isso acontece porque os drivers de vídeo foram movidos para o kernel? Não tenho certeza de como isso é preciso.
  • Existem outras opções de kernel que eu possa tentar? Eu não encontrei uma lista exaustiva de opções - algumas são específicas para distros, outras para carregadores de inicialização, etc.
  • Se eu puder inicializar no sistema usando o nomodeset como um prompt do kernel, existe uma maneira de carregar o driver Radeon após o fato?
  • Exceto isso, não posso configurar o X de alguma forma para usar renderização de vídeo por hardware versus renderização de vídeo por software? Eu visualizo a inicialização no modo somente texto e, em seguida, atualizo algumas opções de configuração no X e, em seguida, inicio o X.
por tendim 13.06.2017 / 23:41

2 respostas

2

Então, modesetting é um sistema no qual o kernel muda os modos gráficos, ao invés do seu servidor X. Este foi o primeiro passo necessário para o servidor X (ou outro sistema de exibição) não ter necessariamente que rodar como root, e os drivers para a maioria dos hardwares modernos usam modesetting para fazer as mudanças na configuração gráfica.

O problema é que, para que o modesetting funcione, o hardware precisa ter tudo o que é necessário para que ele funcione corretamente. No caso de certas GPUs da AMD, isso significa que o kernel precisa fazer o upload do firmware para a GPU; caso contrário, a tela não poderá mais ser atualizada. Observe que isso somente faz com que a tela congele; não é um acidente. Assim, se o seu sistema é um servidor, você pode ignorar isso; mas para computadores desktop ou laptops, obviamente não é ótimo.

Como o firmware em questão não é um software livre como definido pelo Debian , ele não pode ser empacotado no "principal" do Debian repositórios. No entanto, isso não significa que não esteja empacotado; é apenas empacotado no repositório non-free . Isso também significa que não está disponível no instalador.

Para corrigir esse problema, tudo o que você precisa fazer é:

  • inicializar com nomodeset (ou ssh na máquina)
  • ative o repositório não-livre, editando /etc/apt/sources.list e adicionando contrib non-free após o main em algumas das linhas já existentes
  • execute o apt-get update
  • instale o pacote firmware-amd-graphics , que agora será extraído de non-free .
  • reinicialize, desta vez sem o nomodeset , para ativar o firmware.
por 13.03.2018 / 14:54
0

Eu acho que sei disso: O principal problema é que você não tem o firmware correto para o radeon. Para resolver isso, você precisa reconfigurar & & reconstrua o kernel.

Opção A: carregue o radeon como módulo 1. verifique se o debian tem o pacote install-firmware.se assim, instale-o. 2.rebuild o kernel, durante o menuconfig, (drivers de dispositivo), dri [yes], radeon [Module]

Opção B: 1. construa o firmware radeon no kernel.

Informações mais detalhadas,

1. verifique o wiki do gentoo: link verifique blfs wiki: 2. link

    
por 29.09.2017 / 16:49