2.2. Dispositivi che richiedono firmware specifico

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

Su molte schede grafiche, le funzionalità di base sono disponibili senza firmware aggiuntivo; tuttavia, per usare le funzionalità avanzate è necessario che sia installato nel sistema un file con il firmware appropriato.

Su molti dispositivi meno recenti che richiedono un firmware per funzionare, questo è memorizzato nel chip EEPROM/Flash sul dispositivo dal costruttore. Oggigiorno, la maggior parte dei dispositivi non incorpora 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 del progetto Debian GNU/Linux e quindi non può essere incluso nella distribuzione principale. Se il driver del dispositivo è incluso nella distribuzione e Debian GNU/Linux può distribuire legalmente il firmware, questo 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 significa che tale hardware non possa 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 libero. L'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 appropriati, in modo che tali pacchetti ricevano gli aggiornamenti di sicurezza. Questo implica di solito che, oltre a main, viene abilitato anche 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 della forma estesa hw-detect/firmware-lookup=never.

Tranne quando la ricerca del firmware è completamente disabilitata, l'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. Si noti che oggi è meno probabile che l'installatore Debian richieda file del firmware poiché i pacchetti con firmware non libero possono essere inclusi nelle immagini di installazione.

Qualora l'installatore Debian richieda l'installazione di un file di firmware ma tale file non è disponibile, oppure si preferisca non installare un firmware non libero, sul proprio sistema, è possibile proseguire senza caricarlo. In molti casi il driver richiede il firmware solo in particolari circostanze ma il dispositivo può comunque funzionare (per esempio, questo accade su alcune schede di rete che utilizzano il driver tg3).