6.4. Carregar Firmware em Falta

Conforme é descrito na Secção 2.2, “Dispositivos que Necessitam de Firmware”, alguns dispositivos necessitam que seja carregado firmware. Na maioria dos casos o dispositivo não irá funcionar se o firmware não estiver disponível; Por vezes as funcionalidades básicas não serão limitadas se o firmware estiver em falta e for apenas necessário para habilitar funcionalidades adicionais.

Se o controlador de um dispositivo necessitar de firmware que não esteja disponível, o debian-installer irá mostrar uma caixa de diálogo a oferecer-se para carregar o firmware em falta. Se esta opção for selecionada, o debian-installer irá procurar nos dispositivos disponíveis por ficheiros soltos de firmware ou pacotes contendo firmware. Se for encontrado, o firmware será copiado para a localização correta (/lib/firmware) e o controlador será novamente carregado.

[Nota] Nota

Os dispositivos que são pesquisados e quais os sistemas de ficheiros que são suportados dependem da arquitetura, do método de instalação e da etapa da instalação. Especialmente durante as etapas iniciais da instalação, o carregamento de firmware é mais provável que tenha sucesso a partir de uma pen USB formatada com FAT.

Note que é possível saltar o carregamento de firmware se souber que o dispositivo também irá funcionar sem ele, ou se o dispositivo não for necessário durante a instalação.

O debian-installer apenas pergunta pelo firmware necessário para os módulos do kernel carregados durante a instalação. Nem todos os controladores estão incluídos no debian-installer, em particular não está o radeon, isto implica que as capacidades de alguns dispositivos podem não ser diferentes no final da instalação do que eram no seu início. Consequentemente, algum do seu hardware poderá não ser utilizado com todo o seu potencial. Se suspeitar que é o caso, ou se estiver apenas curioso, não é má ideia verificar a saída do comando dmesg no novo sistema acabado de arrancar e procurar por firmware.

6.4.1. Preparar um meio

As imagens de instalação oficiais não incluem firmware não-livre. O método mais comum para carregar este firmware é a partir de um suporte amovível como por exemplo uma pen USB. Em alternativa, podem ser encontradas imagens de instalação não oficiais com firmware não-livre em https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/. Para preparar uma pen-USB (ou outro suporte, tal como uma partição de um disco rígido), os ficheiros ou pacotes de firmware têm de ser colocados no diretório raiz ou num diretório com o nome /firmware do sistema de ficheiros do suporte. O sistema de ficheiros recomendado para utilizar é o FAT, já que é o mais provável de ser suportado durante as etapas iniciais da instalação.

Estão disponíveis ficheiros 'tarball' e zip, contendo os pacotes atuais para o firmware mais comum, a partir de:

Descarregue apenas o ficheiro 'tarball' ou o zip do lançamento correto e descompacte-o para o sistema de ficheiros na media.

Se o firmware que necessitar não estiver incluído no tarball, pode também descarregar pacotes de firmware específicos a partir (da seção non-free) do arquivo. O seguinte resumo deve listar a maioria dos pacotes de firmware disponíveis mas não é garantido que esteja completa e pode também conter pacotes que não sejam de firmware:

Também é possível copiar ficheiros individuais de firmware para o suporte. Ficheiros soltos de firmware podem ser obtidos por exemplo a partir de sistemas já instalados ou a partir de um fabricante de hardware.

6.4.2. Firmware e o Sistema Instalado

Qualquer firmware carregado durante a instalação será automaticamente copiado para o sistema instalado. Na maioria dos casos isto irá assegurar que o dispositivo necessita que o firmware irá também funcionar corretamente após o sistema ser reiniciado para o sistema já instalado. No entanto, se o sistema instalado correr uma versão diferente do kernel da do instalador existe uma ligeira hipótese do firmware não puder ser carregado devido à diferença de versão.

Se o firmware foi carregado a partir de um pacote de firmware, o debian-installer irá também instalar este pacotes no sistema instalado e irá automaticamente acrescentar a seção 'non-free' do arquivo de pacotes ao sources.list do APT. Isto tem a vantagem do firmware ser atualizado automaticamente se estiver disponível uma nova versão.

Se for saltado o carregamento de firmware durante a instalação, o dispositivo relevante irá provavelmente não funcionar no sistema instalado até o (pacote de) firmware ser instalado manualmente.

[Nota] Nota

Se o firmware foi carregado a partir de ficheiros de firmware soltos, o firmware copiado para o sistema instalado não irá ser automaticamente atualizado a menos que o pacote correspondente de firmware (se estiver disponível) seja instalado após a instalação estar completada.

6.4.3. Completing the Installed System

Depending on how the installation was performed, it might be that the need for some firmware was not detected during installation, that the relevant firmware was not available, or that one chose not to install some firmware at that time. In some cases, a successful installation can still end up in a black screen or a garbled display when rebooting into the installed system. When that happens, the following workarounds can be tried:

  • Pass the nomodeset option on the kernel command line. This might help boot into a fallback graphics mode.

  • Use the Ctrl+Alt+F2 key combination to switch to VT2, which might offer a functional login prompt..

Once logged in into the installed system, it is possible to automate the detection of missing firmware, and to perform the required steps to enable them following this procedure:

  1. Install the isenkram-cli package

  2. Run the isenkram-autoinstall-firmware command as the root user.

Usually, rebooting is the simplest way to make sure all kernel modules are properly initialized; that's particularly important when one has booted the system with the nomodeset option as an interim measure.

[Nota] Nota

Installing firmware packages is very likely to require enabling the non-free section of the package archive. As of Debian GNU/Linux 11.0, running the isenkram-autoinstall-firmware command will do that automatically by creating a dedicated file (/etc/apt/sources.list.d/isenkram-autoinstall-firmware.list), pointing at a generic mirror.