2.2. Dispositivos que Necessitam de Firmware

Além da disponibilidade de um controlador de dispositivo, algum hardware necessita também que o chamado firmware ou microcode seja carregado no dispositivo antes deste se tornar operacional. Isto é mais comum para placas de rede (especialmente placas de rede sem fios), mas por exemplo alguns dispositivos USB e até mesmo alguns controladores de disco rígido também necessitam de firmware.

Com muitas placas gráficas, está disponível a funcionalidade básica sem firmware adicional, mas para utilizar funcionalidades avançadas necessita de um ficheiro de firmware apropriado para ser instalado no sistema.

Em muitos dispositivos mais antigos que necessitam de firmware para funcionar, o ficheiro de firmware foi permanentemente colocado, pelo fabricante, num chip EEPROM/Flash. Atualmente a maioria dos dispositivos já não têm o firmware embebido desta forma, por isso o ficheiro de firmware tem que ser carregado no dispositivo pelo sistema operativo cada vez que o sistema arrancar.

Na maioria dos casos o firmware não é livre de acordo com os critérios utilizados pelo projeto Debian GNU/Linux e por isso não pode ser incluído na distribuição principal. Se o próprio controlador do dispositivo estiver incluído na distribuição e se Debian GNU/Linux puder distribuir legalmente o firmware, este estará frequentemente disponível como um pacote separado a partir da seção non-free-firmware do arquivo (antrior a Debian GNU/Linux 12.0: a partir da seção non-free).

No entanto, isto não significa que tal hardware não possa ser utilizado durante a instalação. A partir de Debian GNU/Linux 12.0, e após a Resolução Geral de 2022 sobre firmware não-livre, as imagens de instalação oficiais podem incluir pacotes de firmware não-livre. Por predefinição, o debian-installer irá detetar o firmware necessário (com os logs do kernel e informação de modalias), e instalar os pacotes relevantes se estes forem encontrados num meio de instalação (e.g. em netinst). O gestor de pacotes é automaticamente configurado com os componentes correspondentes de forma a que esses pacotes tenham atualizações de segurança. Isto geralmente significa que o componente non-free-firmware fica habilitado, além do main.

Os utilizadores que desejem desabilitar totalmente a pesquisa de firmware podem fazê-lo ao definir o parâmetro de arranque firmware=never. É um alias para a forma mais longa hw-detect/firmware-lookup=never.

A menos que a pesquisa de firmware esteja totalmente desabilitada, o debian-installer ainda suporta o carregamento de ficheiros de firmware ou de pacotes que contenham firmware a partir de um meio removível, tal como uma pen USB. Para informações detalhadas acerca de como carregar ficheiros ou pacotes de firmware durante a instalação veja Secção 6.4, “Carregar Firmware em Falta”. Note que o debian-installer é menos propenso a pedir ficheiros de firmware agora que os pacotes de firmware non-free podem ser incluidos nas imagens de instalação.

Se o debian-installer pedir um ficheiro de firmware e não o tiver disponível ou não desejar instalar um ficheiro de firmware não livre no seu sistema, pode tentar continuar sem carregar o firmware. Existem diversos casos em que controladores pedem firmware adicional porque em determinadas circunstâncias pode ser necessário, mas o dispositivo funciona sem ele na maioria dos sistemas (isto acontece por exemplo com algumas placas de rede que utilizam o controlador tg3).