Le mot firmware, qui peut être traduit par le terme micrologiciel (ou microprogramme), fait référence à un programme intégré qui contrôle des périphériques électroniques. Il n'y a pas de frontières précises entre microprogramme et programme dans la mesure où les deux termes recouvrent parfois des codes similaires. Habituellement, le terme micrologiciel (firmware) désigne un programme qui se charge des opérations de bas niveau dans un périphérique, sans lesquels le périphérique ne pourrait fonctionner... (pour en savoir plus Wikipedia).


Micrologiciels, Périphériques et Pilotes

De nombreux périphériques ont besoin d'un micrologiciel pour fonctionner. Historiquement, les micrologiciels devaient être incorporés à la ROM ou à la mémoire flash des périphériques, mais, de plus en plus souvent, ils doivent être chargés dans la RAM du périphérique par le pilote du périphérique au moment de leur mise en route. Très peu d'images de micrologiciels sont libres et open-source. La plupart ne le sont pas, ce qui fait que vous devez ajouter les éléments non-free et contrib à vos sources APT.

Le micrologiciel pendant l'installation

Dans certains cas, le programme d'installation de Debian détecte la nécessité de charger un micrologiciel non-libre et demande à l'utilisateur de charger le micrologiciel afin de pouvoir achever l'installation. Cela peut arriver, par exemple, avec les cartes réseau sans fil qui souvent ont besoin d'un micrologiciel non-libre pour fonctionner (voir ipw2200 à titre d'exemple.

Images d'installation avec micrologiciels

Une méthode facile est d'utiliser une image d'installation incluant directement tous les paquets de micrologiciels non-libres. Voir https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/.

Micrologiciels sur un périphérique amovible

Vous pouvez également télécharger l'archive firmware pour votre plateforme et la décompresser dans un répertoire nommé firmware à la racine de votre périphérique amovible de stockage (USB / lecteur CD). Vous pouvez trouver des téléchargements de micrologiciels pour votre version de Debian à https://cdimage.debian.org/cdimage/unofficial/non-free/firmware/. Lorsque l'installateur démarre, il trouvera automatiquement les fichiers micrologiciels dans le répertoire sur le périphérique amovible de stockage et, si nécessaire, installera le micrologiciel requis.

Parfois, le micrologiciel fourni sur le support amovible peut, dans certains cas, ne pas être détecté (par exemple 740503). Dans cette situation, allez sur la console et montez manuellement (voir mount(8)) le support amovible sur un répertoire temporaire (par exemple, « /media »).

Micrologiciel sur support amovible et préconfiguration

Il est également possible de contourner le processus de recherche et d'installation de l'installateur en préconfigurant et en fournissant les fichiers du micrologiciel directement au noyau :

Installation + Archive + USBStick
preseed / early_command = "modprobe vfat; sleep 2;
mount / dev / disk / by-label / FIRMWARE / media;
cp -a / media / firmware / lib "

Une fois que le réseau est configuré, le programme d'installation de Debian peut aller chercher les micrologiciels dans les dépôts Debian.

Micrologiciel après installation

Le isenkram et d'autres outils peuvent demander d'installer le micrologiciel approprié et d'autres paquet de prise en charge matérielle lorsque le matériel est branché. Cela se base principalement sur des paquet déclarant via AppStream quels matériel ils prennent en charge. Cela peut ne pas fonctionner pour tous les micrologiciels, alors lisez la suite pour une autre solution.

Si vous observez toujours des messages de console au sujet de micrologiciels manquants lorsque l'initramfs est mis à jour (par exemple, chaque fois qu'une mise à jour du noyau est appliquée) :

W: Possible missing firmware /lib/firmware/i915/skl_guc_62.0.0.bin for module i915

Vous pouvez alors utiliser apt-file ou la Recherche du contenu du paquet Debian pour rechercher le paquet contenant les fichiers du micrologiciel, installez-le, puis mettez à jour initramfs :

$ apt-file search skl_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/skl_guc_62.0.0.bin
$ sudo apt install firmware-misc-nonfree
$ sudo update-initramfs -c -k all

Micrologiciel manquant dans Debian

Si le micrologiciel manquant n'est pas disponible dans Debian ou si vous voyez toujours des messages console au sujet de micrologiciels manquants même lorsque le bon paquet firmware-* est installé, vous pouvez télécharger et installer le micrologiciel depuis le dépôt linux-firmware, par exemple pour le firmware i915 :

mkdir firmware
cd firmware
wget -r -nd --no-parent -erobots=off -S '*.bin' https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915/
sudo mv *.bin /lib/firmware/i915/
sudo update-initramfs -c -k all

Localisation des fichiers de micrologiciel

Debian 8 « Jessie » et plus récents

udev utilisé à partir de la version Jessie ne recherche les fichiers de micrologiciel que dans un seul répertoire : /lib/firmware. Voir 729252 pour plus de détails.

Debian 7 « Wheezy », Debian 6.0 « Squeeze »

Les micrologiciels proviennent des emplacements suivants (voir les fichiers /lib/udev/hotplug.functions et /lib/udev/firmware.agent d'udev).

  1. /lib/firmware/$(uname -r) - micrologiciels fournis par un paquet, spécifiques à un noyau.

  2. /lib/firmware/ - micrologiciels fournis par un paquet, valides pour tous les noyaux.

  3. /usr/local/lib/firmware - Emplacement des micrologiciels installés manuellement.

  4. /usr/lib/hotplug/firmware - micrologiciels fournis par un paquet, valides pour tous les noyaux.

Liste des micrologiciels dans Debian

Pour trouver le paquet qui fournit le fichier d'un micrologiciels donné, rendez-vous sur cette page :
https://www.debian.org/distrib/packages#search_contents

fr/Firmware/List liste tous les micrologiciels distribués par Debian.

Micrologiciels d'ordinateur

EFI/UEFI

Présent sur la plupart des serveurs et PC modernes à base de x86, avec quelques cartes ARM - (wikipedia)

BIOS

Présent sur les anciennes machines « IBM-PC », généralement la plupart des serveurs et PC standards fabriqués avant 2011 - (wikipedia)

OpenFirmware

connu aussi sous le nom de OpenBoot. Présent sur : les systèmes Sun SPARC, IBM Power, les Apple Macintosh basés sur PowerPC, IEEE 1275-1994,... (wikipedia)

Coreboot (LinuxBIOS)

Peut être utilisé sur quelques cartes et testé des émulateurs - (wikipedia)

PMON2000

Présent sur le Lemote Yeeloong et des systèmes embarqués.

Mise à jour du micrologiciel

Le micrologiciel peut être mis à jour (en anglais) en utilisant diverses méthodes.

Micrologiciel ouvert

Il y a un certain nombre de projets créant différents types de micrologiciels ouverts, pour l'amorçage, le WiFi et l'audio.


CategoryPermalink | CategoryHardware | CategoryProprietarySoftware