6.4. Ontbrekende firmware laden

Zoals beschreven wordt in Paragraaf 2.2, “Apparaten waarvoor firmware vereist is”, is het voor sommige apparaten noodzakelijk dat er firmware geladen wordt. In de meeste gevallen zal het apparaat zonder firmware helemaal niet werken. Soms heeft het ontbreken van firmware geen gevolgen voor de basisfuncties, maar is de firmware enkel nodig om geavanceerde functies te kunnen gebruiken.

Indien een stuurprogramma voor een apparaat firmware nodig heeft die niet beschikbaar is, zal debian-installer met een dialoogvenster u aanbieden om de ontbrekende firmware te laden. Indien u deze optie selecteert, zal debian-installer op beschikbare opslagapparaten zoeken naar afzonderlijke firmwarebestanden of naar pakketten met firmware. Indien de firmware gevonden wordt, zal ze naar de juiste plaats (/lib/firmware) gekopieerd worden en zal de stuurprogrammamodule opnieuw geladen worden.

[Opmerking] Opmerking

Welke apparaten doorzocht worden en welke bestandssystemen ondersteund worden is afhankelijk van de architectuur, de installatiemethode en de fase van de installatie. In het bijzonder tijdens de vroege fases van de installatie, is de kans het grootst dat het laden van de firmware slaagt als dat gebeurt vanaf een voor FAT geformatteerde USB-stick. Op i386 en amd64 kan firmware ook geladen worden vanaf een MMC- of SD-kaart.

Merk op dat het mogelijk is om het laden van de firmware over te slaan als u weet dat het apparaat ook zonder die firmware zal functioneren of als het apparaat niet nodig is tijdens de installatie.

debian-installer vraagt enkel naar firmware die nodig is voor kernelmodules die tijdens de installatie geladen worden. Niet alle stuurprogramma's werden opgenomen in debian-installer. In het bijzonder is dat voor radeon het geval. Dit houdt in dat de mogelijkheden van sommige apparaten op het einde van de installatie niet verschillen van aan het begin van de installatie. Als gevolg daarvan kan het zijn dat van sommige onderdelen van uw hardware niet alle mogelijkheden benut worden. Indien u vermoedt dat dit het geval is, of indien u gewoon nieuwsgierig bent, is het geen kwaad idee om op het vers opgestart systeem de uitvoer van het commando dmesg na te kijken en te zoeken naar firmware.

6.4.1. Een medium voorbereiden

Officiële installatie-images bevatten geen niet-vrije firmware. De meest gebruikelijke methode om dergelijke firmware te laden, is van een verwijderbaar medium zoals een USB-stick. Een alternatieve mogelijkheid zijn niet-officiële installatie-images met niet-vrije firmware die u kunt vinden op https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/. Wilt u een USB-stick (of een ander medium zoals een partitie van een harde schijf) klaar maken, dan moet u de firmware-bestanden of -pakketten plaatsen in de basismap (root) ofwel in een map die /firmware heet. Het wordt aanbevolen om FAT als bestandssysteem te gebruiken omdat tijdens de vroege stadia van het installatieproces dat bestandssysteem de grootste kans maakt om ondersteund te worden.

Tar-archieven en zip-bestanden met de huidige pakketten voor de meest courante firmware zijn te vinden op:

Download gewoon het tar-archief of het zip-bestand voor de juiste release en pak het op het bestandssysteem van het medium uit.

Indien de firmware die u nodig heeft zich niet in het tar-archief bevindt, kunt u ook specifieke firmware-pakketten downloaden van (de sectie non-free van) het archief. Het volgende overzicht vermeldt de meeste van de beschikbare firmware-pakketten, maar het overzicht is niet gegarandeerd volledig en kan ook pakketten bevatten die geen firmware zijn:

U kunt ook individuele firmwarebestanden kopiëren naar het medium. Aparte firmware is bijvoorbeeld te vinden op een reeds geïnstalleerd systeem of bij de leverancier van de hardware.

6.4.2. Firmware en een geïnstalleerd systeem

Alle firmware die tijdens de installatie geladen wordt, zal automatisch gekopieerd worden naar het geïnstalleerde systeem. In de meeste gevallen zal dit ervoor zorgen dat het apparaat dat de firmware nodig heeft, ook correct zal werken nadat de computer opnieuw opgestart werd met het geïnstalleerde systeem. Indien het geïnstalleerde systeem een andere kernelversie gebruikt dan het installatiesysteem, is er een kleine kans dat de firmware niet geladen kan worden wegens een versieverschil.

Indien de firmware van een firmwarepakket geladen werd, zal debian-installer dit pakket ook installeren op het geïnstalleerde systeem en zal het de sectie non-free van het pakketarchief ook automatisch toevoegen in het bestand sources.list van APT. Dit heeft het voordeel dat de firmware automatisch opgewaardeerd zal worden als een meer recente versie beschikbaar wordt.

Indien het laden van de firmware overgeslagen werd tijdens de installatie, zal het betrokken apparaat wellicht niet werken op het geïnstalleerde systeem totdat de firmware (of het firmware-pakket) handmatig geïnstalleerd werd.

[Opmerking] Opmerking

Indien de firmware geladen werd aan de hand van losse firmwarebestanden, zal de naar het geïnstalleerde systeem gekopieerde firmware niet automatisch opgewaardeerd worden, tenzij het overeenkomstige firmware-pakket (als dat bestaat) geïnstalleerd wordt nadat de installatie afgerond is.

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.

[Opmerking] Opmerking

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.