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).
Contents
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 :
Les fichiers de micrologiciel nécessaires sont supposés être dans un répertoire nommé firmware sur une partition FAT formatée avec mkfs.vfat et étiquetée FIRMWARE.
L'ajout suivant est apporté à la ligne de commande du noyau de l'installateur. C'est une commande unique mais elle a été interrompue ici pour plus de lisibilité. Appuyez sur TAB lorsque le choix d'installation est mis en surbrillance pour rendre la ligne de commande visible. Une variante de cette technique est présentée ailleurs.
Installation + Archive + USBStick preseed / early_command = "modprobe vfat; sleep 2; mount / dev / disk / by-label / FIRMWARE / media; cp -a / media / firmware / lib "
NetbootFirmware - micrologiciels pour le Netbooting.
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).
/lib/firmware/$(uname -r) - micrologiciels fournis par un paquet, spécifiques à un noyau.
/lib/firmware/ - micrologiciels fournis par un paquet, valides pour tous les noyaux.
/usr/local/lib/firmware - Emplacement des micrologiciels installés manuellement.
/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) |
Présent sur les anciennes machines « IBM-PC », généralement la plupart des serveurs et PC standards fabriqués avant 2011 - (wikipedia) |
|
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