6.4. Caricare i firmware mancanti

Come descritto in Sezione 2.2, «Dispositivi che richiedono firmware specifico», alcuni dispositivi possono richiedere il caricamento di un firmware. Nella maggior parte dei casi questi dispositivi non funzionano senza; qualche volta sono attive solo alcune funzioni di base e il firmware è necessario per attivare le funzionalità aggiuntive.

Quando un dispositivo richiede un firmware non disponibile, installatore Debian mostra una finestra di dialogo dando la possibilità di caricare il firmware mancante. Se si utilizza questa opzione, installatore Debian cerca all'interno dei dispositivi disponibili i singoli file col firmware oppure i pacchetti contenenti il firmware. Se la ricerca ha successo, il firmware verrà copiato nella directory corretta (/lib/firmware) e il modulo con il driver verrà ricaricato.

[Nota] Nota

In quali dispositivi viene effettuata la ricerca e quali sono i filesystem supportati dipendono dall'architettura, dal metodo d'installazione e dalla fase dell'installazione. In particolare è molto probabile che durante le prime fasi dell'installazione funzioni il caricamento dei firmware da chiavette USB con un filesystem FAT.

Notare che è possibile saltare il caricamento del firmware se il dispositivo può funzionare senza oppure se il dispositivo non è necessario durante l'installazione.

installatore Debian richiede solo il firmware che è necessario ai moduli del kernel durante l'installazione. Non tutti i driver sono compresi nel installatore Debian, in particolare non è incluso radeon, quindi può accadere che al termine dell'installazione le funzionalità di alcuni dispositivi potrebbero essere uguali a come erano all'inizio. Di conseguenza parte dell'hardware potrebbe non essere usato al massimo del suo potenziale. Per verificare se accade proprio questo o per semplice curiosità, avviare il sistema appena installato e cercare «firmware» nell'output del comando dmesg.

6.4.1. Preparazione del supporto

Le immagini ufficiali per l'installazione non contengono il firmware non-free. Il metodo più comune per caricare il firmware non-free è da un supporto removibile come una chiavetta USB. In alternativa è possibile trovare in https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/ le immagini dei supporti per l'installazione non ufficiali contenenti il firmware non-free. Per preparare una chiavetta USB (o un qualsiasi altro supporto come una partizione del disco fisso) occorre copiare i file o i pacchetti con il firmware nella directory principale o in una directory con nome /firmware del filesystem sul supporto. Si raccomanda l'uso di un filesystem FAT dato che è quello supportato sino dalle prime fasi dell'installazione.

Dei tarball e dei file zip contenenti i pacchetti con i firmware più comuni sono disponibili da:

È sufficiente scaricare il tarball o il file zip adatto al proprio rilascio e scompattarlo nel filesystem del supporto.

Se il firmware di cui si ha bisogno non è incluso nel tarball, è possibile scaricare gli specifici pacchetti con il firmware dalla sezione non-free dell'archivio. La panoramica seguente dovrebbe elencare i principali pacchetti con firmware disponibili ma non si garantisce che sia completa e potrebbe anche contenere dei pacchetti senza firmware.

È anche possibile copiare i singoli file con il firmware nel supporto. I singoli firmware possono essere recuperati, per esempio, da altri sistemi già installati oppure dal produttore dell'hardware.

6.4.2. Firmware sul sistema installato

Tutti i firmware caricati durante l'installazione verranno copiati sul sistema installato; nella maggior parte dei casi questo assicura che il dispositivo che ha bisogno del firmware funzioni correttamente anche dopo aver riavviato il sistema. Tuttavia, se il sistema installato utilizza una versione del kernel diversa da quella usata per l'installazione c'è la possibilità che il firmware non possa essere caricato a causa della differenza fra le versioni.

Se il firmware è stato caricato da un pacchetto, installatore Debian installa il pacchetto sul sistema finale e aggiunge automaticamente la sezione non-free dell'archivio nel sources.list di APT. Questo ha il vantaggio che quando è disponibile una nuova versione del firmware questo verrà aggiornato automaticamente.

Se il caricamento del firmware è stato saltato durante l'installazione, i dispositivi che hanno bisogno del firmware non funzioneranno fino a quando il firmware (o il pacchetto) non verrà installato manualmente.

[Nota] Nota

Se i firmware sono stati caricati da file singoli, i firmware verranno copiati nel sistema installato ma non saranno aggiornati automaticamente a meno che, una volta completata l'installazione, non venga installato (se disponibile) il relativo pacchetto.

6.4.3. Conclusione sul sistema installato

A seconda di come è condotta l'installazione, potrebbe accadere che dei firmware necessari per il funzionamento non siano stati rivelati durante l'installazione, che il firmware pertinente non fosse disponibile oppure che si sia scelto di non installare il firmware. In alcuni casi, nonostante l'installazione si concluda con successo, può capitare che lo schermo resti nero o con dei disturbi dopo il riavvio del sistema installato. In tal caso è possibile applicare i seguenti espedienti:

  • Passare l'opzione nomodeset sulla riga di comando del kernel in modo da avviare nella «modalità grafica di servizio».

  • Usare la combinazione di tasti Ctrl+Alt+F2 per passare al VT2, che dovrebbe offrire un prompt di login funzionante.

Una volta entrati nel sistema installato, è possibile automatizzare la rivelazione del firmware mancante ed effettuare i passaggi necessari per attivarlo seguendo questa procedura:

  1. Installare il pacchetto isenkram-cli.

  2. Eseguire il comando isenkram-autoinstall-firmware con l'utente «root».

Solitamente, riavviare è il modo più semplice per assicurarsi che i moduli siano inizializzati correttamente; questo è particolarmente importante quando il sistema è stato avviato con l'opzione nomodeset come misura temporanea.

[Nota] Nota

Molto probabilmente l'installazione dei pacchetti con firmware richiede l'abilitazione della sezione non-free dell'archivio dei pacchetti. Da Debian GNU/Linux 11.0 è possibile usare il comando isenkram-autoinstall-firmware per fare questa operazione automaticamente, verrà creato un file (/etc/apt/sources.list.d/isenkram-autoinstall-firmware.list) che punta a un mirror generico.