2.2. Dispositivi che richiedono firmware specifico

Oltre alla disponibilità di un driver, alcuni dispositivi richiedono anche un cosiddetto firmware o microcodice da caricare nel dispositivo prima che sia completamente operativo. Questo è molto comune per le schede di rete (in particolare i NIC wireless) ma anche alcuni dispositivi USB e alcuni controller per dischi fissi richiedono un firmware.

Su molte schede grafiche le funzioni di base sono disponibili senza firmware aggiuntivi ma per usare le funzionalità avanzate è necessario che un appropriato file con firmware sia installato nel sistema.

Su molti dei vecchi dispositivi che richiedono un firmware per funzionare, il firmware è memorizzato nel chip EEPROM/Flash sul dispositivo dal costruttore. Oggigiorno la maggior parte dei dispositivi non incorporano più il firmware in questo modo, il firmware deve essere caricato sul dispositivo dal sistema operativo a ogni avvio del sistema.

In molti casi il firmware è considerato non-libero in base ai criteri usati dal progetto Debian GNU/Linux e quindi non può essere incluso nella distribuzione principale. Se il driver del dispositivo è incluso nella distribuzione e se Debian GNU/Linux può distribuire legalmente il firmware, spesso è disponibile in un pacchetto separato nella sezione non-free-firmware dell'archivio (prima di Debian GNU/Linux 12.0: nella sezione non-free).

Ciò non vuol dire che questo hardware non può essere usato durante l'installazione. A partire da Debian GNU/Linux 12.0, a seguito della 2022 General Resolution about non-free firmware, le immagini di installazione ufficiali possono includere pacchetti di firmware non liberi. Il installatore Debian rileverà il firmware necessario (in base ai log del kernel e alle informazioni di modalias) e installerà i pacchetti pertinenti se sono stati trovati sul supporto d'installazione (per esempio, su netinst). Il gestore di pacchetti viene configurato automaticamente con i componenti corrispondenti, in modo che questi pacchetti ricevano gli aggiornamenti di sicurezza. Questo di solito significa che oltre a main viene abilitato il componente non-free-firmware.

Gli utenti che desiderano disabilitare completamente la ricerca del firmware possono farlo impostando il parametro di avvio firmware=never. Si tratta di un alias del modulo più lungo hw-detect/firmware-lookup=never.

Tranne quando la rierca del firmware è completamente disabilitata, installatore Debian è in grado di caricare dei file o dei pacchetti contenenti il firmware da un supporto removibile come una chiavetta USB. Si veda Sezione 6.4, «Caricare i firmware mancanti» per le istruzioni dettagliate su come caricare i file o i pacchetti con il firmware durante l'installazione. Notare che adesso è meno probabile che installatore Debian richieda i file del firmware dato che i pacchetti con firmware non liberi possono essere inclusi nelle immagini di installazione.

Qualora installatore Debian richieda l'installazione di un file di firmware ma tale file non è disponibile oppure non si vuole installare un firmware non-free sul proprio sistema, è possibile continuare senza caricare il firmware. Ci sono molti casi in cui il driver richiede il firmware perché in alcune circostanze potrebbe essere necessario ma il dispositivo funziona anche senza (per esempio questo accade su alcune schede di rete con il driver tg3).