Differences between revisions 12 and 14 (spanning 2 versions)
Revision 12 as of 2017-10-31 17:55:48
Size: 7538
Comment: gallicization of some links
Revision 14 as of 2018-01-07 20:40:47
Size: 8241
Editor: vauss
Comment: typo
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
Le mot firmware, qui peut être traduit par le terme microcode (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 microcode (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:fr:Firmware|Wikipedia]])-~. 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:fr:Firmware|Wikipedia]])-~.
Line 13: Line 13:
== Microcodes, Périphériques et Pilotes ==
De nombreux périphériques ont besoin d'un microcode pour fonctionner. Historiquement, les microcodes étaient 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 le périphérique par le pilote au moment de leur mise en route.
Certains de ces microcodes sont libres et open-source, mais d'autres non ce qui fait que vous devez ajouter les sources {{{non-free}}} et {{{contrib}}} à votre fichier {{{/etc/apt/sources.list}}} ; voir [[DebianMan:5/sources.list|sources.list(5)]] et [[http://www.debian.org/doc/manuals/debian-reference/ch02#_debian_archive_basics|Debian archive basics]] (Debian Reference) pour des informations complémentaires.
== Micrologiciels, Périphériques et Pilotes ==
De nombreux périphériques ont besoin d'un micrologiciel pour fonctionner. Historiquement, les micrologiciels étaient 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 le périphérique par le pilote au moment de leur mise en route.
Certains de ces micrologiciels sont libres et open-source, mais d'autres non ce qui fait que vous devez ajouter les sources {{{non-free}}} et {{{contrib}}} à votre fichier {{{/etc/apt/sources.list}}} ; voir [[DebianMan:5/sources.list|sources.list(5)]] et [[http://www.debian.org/doc/manuals/debian-reference/ch02#_debian_archive_basics|Debian archive basics]] (Debian Reference) pour des informations complémentaires.
Line 17: Line 17:
=== le Firmware pendant l'installation === === Le micrologiciel pendant l'installation ===
Line 19: Line 19:
Dans certains cas, le programme d'installation de Debian détecte la nécessité de charger un microcode non-libre et demande à l'utilisateur de charger le microcode afin de pouvoir achever l'installation. Cela peut arriver, par exemple, avec les cartes réseau sans fil qui souvent ont besoin d'un microcode non-libre pour fonctionner (voir [[fr/ipw2200|ipw2200]] à titre d'exemple. 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 [[fr/ipw2200|ipw2200]] à titre d'exemple.
Line 21: Line 21:
Nous vous suggérons, notamment lors de l'installation d'un matériel qui ne vous est pas familier, de télécharger l'archive du microcode nécessaire à votre matériel et de le décompresser dans une répertoire nommé « firmware » placé à la racine d'un support amovible (périphérique USB/CD). Quand l'installateur démarre, il trouve automatiquement cette archive sur le support amovible et installe le microcode de votre matériel s'il y en a besoin. Vous pouvez trouver le lien de téléchargement des microcodes correspondant à votre distribution Debian à cette adresse : [[http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/]]. Nous vous suggérons, notamment lors de l'installation d'un matériel qui ne vous est pas familier, de télécharger l'archive du micrologiciel nécessaire à votre matériel et de le décompresser dans une répertoire nommé « firmware » placé à la racine d'un support amovible (périphérique USB/CD). Quand l'installateur démarre, il trouve automatiquement cette archive sur le support amovible et installe le micrologiciel de votre matériel s'il y en a besoin. Vous pouvez trouver le lien de téléchargement des micrologiciel correspondant à votre distribution Debian à cette adresse : [[http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/]].
Line 23: Line 23:
Dans certains cas, le microcode fourni sur le support amovible peut, dans certains cas, ne pas être détecté (par exemple DebianBug:740503). Dans cette situation, allez sur la console et montez manuellement (voir [[DebianMan:8/mount|mount(8)]]) le support amovible sur un répertoire temporaire (par exemple, « /media »). Dans certains cas, le micrologiciel fourni sur le support amovible peut, dans certains cas, ne pas être détecté (par exemple DebianBug:740503). Dans cette situation, allez sur la console et montez manuellement (voir [[DebianMan:8/mount|mount(8)]]) le support amovible sur un répertoire temporaire (par exemple, « /media »).
Line 25: Line 25:
Autrement, on peut aussi utiliser des images d'installateur parallèles qui incluent directement l'ensemble des paquets de microcodes non-libres. Il existe des images CD « netinst » ainsi que des images d'installateur DVD - voir [[http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/]]. Autrement, on peut aussi utiliser des images d'installateur parallèles qui incluent directement l'ensemble des paquets de micrologiciels non-libres. Il existe des images CD « netinst » ainsi que des images d'installateur DVD - voir [[http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/]].
Line 27: Line 27:
 * [[DebianInstaller/NetbootFirmware|NetbootFirmware]] - Microcodes pour le Netbooting.
Une fois que le réseau est configuré, le programme d'installation de Debian peut aller chercher les microcodes dans les dépôts Debian.
 * [[DebianInstaller/NetbootFirmware|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.
Line 30: Line 30:
=== Localisation des microcodes === === Localisation des micrologiciels ===
Line 32: Line 32:
La version la plus récente de [[DebianPkg:udev]] utilisée dans Jessie ne recherche les fichiers de microcode que dans un seul répertoire. Voir [[DebianBug:729252]] pour plus de détails. Les fichiers de microde doivent être installés dans : La version la plus récente de [[DebianPkg:udev]] utilisée dans Jessie ne recherche les fichiers de micrologiciel que dans un seul répertoire. Voir [[DebianBug:729252]] pour plus de détails. Les fichiers de micrologiciel doivent être installés dans :
Line 35: Line 35:
Les microcodes proviennent des emplacements suivants (voir les fichiers {{{/lib/udev/hotplug.functions}}} et {{{/lib/udev/firmware.agent}}} d'[[DebianPkg:udev]]).
 1. {{{/lib/firmware/$(uname -r)}}} - Microcodes fournis par un paquet, spécifiques à un noyau.
 1. {{{/lib/firmware/}}} - Microcodes fournis par un paquet, valides pour tous les noyaux.
 1. {{{/usr/local/lib/firmware}}} - Emplacement des microcodes installés manuellement.
 1. {{{/usr/lib/hotplug/firmware}}} - Microcodes fournis par un paquet, valides pour tous les noyaux.
Les micrologiciels proviennent des emplacements suivants (voir les fichiers {{{/lib/udev/hotplug.functions}}} et {{{/lib/udev/firmware.agent}}} d'[[DebianPkg:udev]]).
 1. {{{/lib/firmware/$(uname -r)}}} - micrologiciels fournis par un paquet, spécifiques à un noyau.
 1. {{{/lib/firmware/}}} - micrologiciels fournis par un paquet, valides pour tous les noyaux.
 1. {{{/usr/local/lib/firmware}}} - Emplacement des micrologiciels installés manuellement.
 1. {{{/usr/lib/hotplug/firmware}}} - micrologiciels fournis par un paquet, valides pour tous les noyaux.
Line 41: Line 41:
=== Liste des microcodes du noyau Linux === === Liste des micrologiciels du noyau Linux ===
Line 44: Line 44:
Pour trouver le paquet qui fournit le fichier d'un microcode donné, rendez-vous sur cette page :<<BR>>
[[http://www.debian.org/distrib/packages#search_contents]]
Pour trouver le paquet qui fournit le fichier d'un micrologiciels donné, rendez-vous sur cette page :<<BR>>
[[https://www.debian.org/distrib/packages#search_contents]]
Line 47: Line 47:
Voici la liste, générée automatiquement par le noyau linux '''3.2.0-4-686-pae''' (Debian 3.2.41-2) de [[fr/DebianWheezy|Wheezy]], des modules Linux qui ont besoin d'un microcode pour fonctionner. Certains des microcodes ont été empaquetés pour Debian (par exemple dans le paquet [[DebianPkg:firmware-linux-nonfree]]). Voici la liste, générée automatiquement par le noyau linux 4.9.0-5-amd64''' (Debian 4.9.65-3+deb9u2) de [[fr/DebianStretch|Stretch]], des modules Linux qui ont besoin d'un micrologiciel pour fonctionner. Certains des micrologiciels ont été empaquetés pour Debian (par exemple dans le paquet [[DebianPkg:firmware-linux-nonfree]]).
Line 49: Line 49:
Attention : cette liste peut ne pas être complète parce que le nom des microcodes ne peut pas toujours être extrait de façon fiable. Attention : cette liste peut ne pas être complète parce que le nom des micrologiciels ne peut pas toujours être extrait de façon fiable.
Line 51: Line 51:
##This is list built with :
##
##find /lib/modules/3.2.0-4-686-pae/ -type f -name '*.ko' | while read m ; do modinfo $m | grep -E '^(firmware:|depends:.*firmware)' | sed -e "s#.*#$m#" ; done | sort -u > /tmp/modules
##
## cat /tmp/modules | while read m ; do s=${m##*/} ; modinfo $m | grep -E '^(description|firmware)' | sort | sed -e '2,0s/^description:.*//' -e '/^description:/s/\([A-Z][a-z0-9]\+\)\{2,\}/!\0/g' -e "s#^description:[[:blank:]]*\(.*\)#||$s||''\1''||#" -e 's#^firmware:[[:blank:]]*\(.*\)#[[DebianPkg:file:\1|\1]]<<BR>>#' | tr -d '\n' | sed -e 's/<<BR>>$//' -e 's/$/||\n/' ; done | sort > /tmp/modules.mm
##
##
Il s'agit d'un liste créée avec le [[#firmware-script|script ci-dessous]]:
Line 59: Line 53:
## DO NOT UPDATE THIS LIST MANUALLY (use the command above). ## DO NOT UPDATE THIS LIST MANUALLY (use the command below).
Line 63: Line 57:
Ce tableau est destiné essentiellement à associer modules et microcodes. Il pourrait être amélioré en listant les noms des paquets correspondants. Ce tableau est destiné essentiellement à associer modules et micrologiciels. Il pourrait être amélioré en listant les noms des paquets correspondants.
<<Anchor(firmware-script)>>
{{{
#!/bin/sh
dir="$(find /lib/modules/ -mindepth 1 -maxdepth 1 -print0 | sort -zr | head -zn1)"
find "$dir" -type f -name '*.ko' |
while read -r m ; do
 /sbin/modinfo "$m" |
 grep -E '^(firmware:|depends:.*firmware)' |
 sed -e "s#.*#$m#"
done |
sort -u |
while read -r m ; do
 s=${m##*/}
 (
  /sbin/modinfo "$m" |
  (
   grep -E '^description' ||
   echo 'description: (none)'
  )
  /sbin/modinfo "$m" |
  grep -E '^firmware') |
  sort |
  sed -e '2,0s/^description:.*//' \
      -e '/^description:/s/\([A-Z][a-z0-9]\+\)\{2,\}/!\0/g' \
      -e "s#^description:[[:blank:]]*\(.*\)#||$s||''\1''||#" \
      -e 's#^firmware:[[:blank:]]*\(.*\)#[[DebianPkg:file:\1|\1]]<<BR>>#' |
  tr -d '\n' |
  sed -e 's/<<BR>>$//' \
      -e 's/$/||\n/'
done |
sort
}}}
Line 66: Line 93:
== Microcodes d'ordinateur == == Micrologiciels d'ordinateur ==
Line 72: Line 99:
   == Mise à jour du micrologiciel ==

Le micrologiciel peut être [[Firmware/Updates|mis à jour]] en utilisant [[DebianPackage:fwupd]] ou diverses méthodes spécifiques au fournisseur.
Firmware can be [[Firmware/Updates|updated]] using [[DebianPackage:fwupd]] or various vendor-specific methods.

Traduction(s): English - Español - Français - Italiano


Firmware

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 étaient 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 le périphérique par le pilote au moment de leur mise en route. Certains de ces micrologiciels sont libres et open-source, mais d'autres non ce qui fait que vous devez ajouter les sources non-free et contrib à votre fichier /etc/apt/sources.list ; voir sources.list(5) et Debian archive basics (Debian Reference) pour des informations complémentaires.

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.

Nous vous suggérons, notamment lors de l'installation d'un matériel qui ne vous est pas familier, de télécharger l'archive du micrologiciel nécessaire à votre matériel et de le décompresser dans une répertoire nommé « firmware » placé à la racine d'un support amovible (périphérique USB/CD). Quand l'installateur démarre, il trouve automatiquement cette archive sur le support amovible et installe le micrologiciel de votre matériel s'il y en a besoin. Vous pouvez trouver le lien de téléchargement des micrologiciel correspondant à votre distribution Debian à cette adresse : http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/.

Dans certains cas, 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 »).

Autrement, on peut aussi utiliser des images d'installateur parallèles qui incluent directement l'ensemble des paquets de micrologiciels non-libres. Il existe des images CD « netinst » ainsi que des images d'installateur DVD - voir http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/.

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.

Localisation des micrologiciels

Debian 8 « Jessie »

La version la plus récente de udev utilisée dans Jessie ne recherche les fichiers de micrologiciel que dans un seul répertoire. Voir 729252 pour plus de détails. Les fichiers de micrologiciel doivent être installés dans :

  • /lib/firmware

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 du noyau Linux

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

Voici la liste, générée automatiquement par le noyau linux 4.9.0-5-amd64 (Debian 4.9.65-3+deb9u2) de Stretch, des modules Linux qui ont besoin d'un micrologiciel pour fonctionner. Certains des micrologiciels ont été empaquetés pour Debian (par exemple dans le paquet firmware-linux-nonfree).

Attention : cette liste peut ne pas être complète parce que le nom des micrologiciels ne peut pas toujours être extrait de façon fiable.

Il s'agit d'un liste créée avec le script ci-dessous:

Include: Nothing found for "^##TAG:LIST_START"!

Include: Nothing found for "^##TAG:LIST_END"!

Translation(s): English - Español - Français - Italiano - Português (Brasil)


The Debian project took the decision in October 2022 to create a new repository component non-free-firmware, and include its content on installation media for the upcoming Debian 12 release (bookworm) to make things easier for our users. This change was implemented in time for the bookworm alpha 2 release of debian-installer in February 2023, and all d-i releases and daily and weekly images since then all include firmware.
For information for older releases, see "Older releases" further down this page.

What is firmware?

Firmware refers to embedded software which controls electronic devices. Well-defined boundaries between firmware and software do not exist, as both terms cover some of the same code. Typically, the term firmware deals with low-level operations in a device, without which the device would be completely non-functional (read more on Wikipedia).

Many devices require firmware to operate. Historically, firmware would be built into the device's ROM or Flash memory, but more and more often, a firmware image has to be loaded into the device RAM by a device driver during device initialisation.

A few firmware images are Free Software and Open Source but unfortunately almost all of them are non-free, which means that Debian cannot include them as normal in the archive under main or contrib.

Using non-free firmware on a Debian system

Debian 12 (bookworm) and later

For Debian 12 onwards, all the packaged non-free firmware binaries that Debian can distribute have been moved to a new component in the Debian archive, called non-free-firmware. If you're upgrading from an older release of Debian and you need these firmware binaries, you should update the apt sources.list on your system to use this new component. If you only had the non-free component enabled on your system to allow you to install firmware, you can safely remove that now.

Debian's installation and live images now include all of those firmware packages. The system should automatically detect, load and install the firmware available for your devices, where possible. There are a small number of cases where Debian can't do this, typically because of not being allowed to distribute the needed firmware binaries.

If you are booting the Debian installer over the network, that will not include all the firmware packages in the initramfs. This is a deliberate choice due to the extra space needed for all the firmware here. Many/most users will already need to modify the initramfs when setting up netboot, so an extra step here is reasonable. Adding the firmware blobs to your initramfs is easy: simply grab the appropriate cpio archive for your target release from https://cdimage.debian.org/cdimage/firmware/ and append it directly to the initramfs file.

How to disable detection and use of non-free firmware

From Debian 12, the installer will automatically check for needed firmware blobs and add them as required. If you would prefer it not to, add

firmware=never

to the installer boot parameters as described in the installation guide

Older releases

For Debian 11 (bullseye) and older, Debian did not include firmware on official installation and live images. The following sections should help you if you need firmware there.

Firmware during the installation

In some cases the installer detects the need for non-free firmware and prompts the user to make the firmware available to the installer to complete the installation. This can happen, for example, with wireless network cards which often require non-free firmware to function (see ipw2200 for an example).

Installation images with firmware

An easy method is to use an installer image that includes all non-free firmware packages directly. See https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/

Firmware on removable media

You can also download the firmware archive for your platform and unpack it into a directory named firmware in the root of a removable storage device (USB/CD drive). You can find firmware downloads for your Debian version at https://cdimage.debian.org/cdimage/firmware/. When the installer starts, it will automatically find the firmware files in the directory on the removable storage and, if needed, install the required firmware.

In some cases, firmware supplied on removable media may not be detected automatically (e.g. 740503). In these situations, drop to the console (Ctrl+alt+F2) and manually mount(8) your removable storage on a temporary directory (e.g. /media).

Firmware on removable media and preseeding

It is also possible to bypass the installer's searching and installation process by preseeding and providing the firmware files directly to the kernel:

  • The needed firmware files are assumed to be in a directory named firmware on a FAT partition formatted with mkfs.vfat and labelled FIRMWARE.

  • The following addition is made to the installer's kernel command line. It is a single command but has been broken here for readability. Press TAB when the installation choice is highlighted to make the command line visible. A variation on this technique is presented elsewhere.

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

Once the network is configured, Debian-Installer can fetch firmware from Debian repositories.

Firmware after installation

The isenkram and other tools can prompt to install the appropriate firmware and other hardware support packages when the hardware is plugged in. This mostly relies on packages declaring via AppStream what hardware they support. This might not work for all firmware, so read on for another solution.

If you still see missing firmware console messages when the initramfs is updated (for example whenever a kernel update is applied):

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

Then you can use apt-file or the Debian package contents search to look for the package that contains the firmware files, install it and then update the 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

Firmware missing from Debian

If the missing firmware is not available in Debian or if you still see missing firmware console messages even when you have the right firmware-* package installed, you can download and install the firmware from the linux-firmware repository, e.g. for i915 firmware:

mkdir firmware
cd firmware
wget -r -nd -e robots=no -A '*.bin' --accept-regex '/plain/' 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

Location of firmware files

Debian 8 "Jessie" and newer

udev used in Debian Jessie and later, only checks one directory for firmware files: /lib/firmware. See 729252 for details.

Debian 7 "Wheezy", Debian 6.0 "Squeeze"

Firmware is sourced from the following places (see udev's /lib/udev/hotplug.functions and /lib/udev/firmware.agent)

  1. /lib/firmware/$(uname -r) - Firmware provided by a package, specific for a kernel.

  2. /lib/firmware/ - Firmware provided by a package, valid for all kernels.

  3. /usr/local/lib/firmware - Location for manually installed firmware.

  4. /usr/lib/hotplug/firmware - Firmware provided by a package, valid for all kernels

List of firmware in Debian

To find which package provides a given firmware file, you can use this search page:
https://www.debian.org/distrib/packages#search_contents

Firmware/List lists firmware distributed by Debian.

Computer Firmware

EFI/UEFI

Found on most modern x86 PCs and servers, along with some ARM boards - (wikipedia)

BIOS

Found on older "IBM-PC" machines, generally most regular PCs and servers that were manufactured before 2011 - (wikipedia)

OpenFirmware

also known as OpenBoot, Found on Sun SPARC systems, IBM Power, PowerPC-based Apple Macintosh, IEEE 1275-1994... (wikipedia)

Coreboot (LinuxBIOS)

Can be used on some boards and tested under emulators - (wikipedia)

PMON2000

Found on the Lemote Yeeloong and embedded devices

Updating firmware

Firmware can be updated using various methods.


CategoryPermalink | CategoryHardware | CategoryProprietarySoftware

Ce tableau est destiné essentiellement à associer modules et micrologiciels. Il pourrait être amélioré en listant les noms des paquets correspondants.

dir="$(find /lib/modules/ -mindepth 1 -maxdepth 1 -print0 | sort -zr | head -zn1)"
find "$dir" -type f -name '*.ko' |
while read -r m ; do
 /sbin/modinfo "$m" |
 grep -E '^(firmware:|depends:.*firmware)' |
 sed -e "s#.*#$m#"
done |
sort -u |
while read -r m ; do
 s=${m##*/}
 (
  /sbin/modinfo "$m" |
  (
   grep -E '^description' ||
   echo 'description:    (none)'
  )
  /sbin/modinfo "$m" |
  grep -E '^firmware') |
  sort |
  sed -e '2,0s/^description:.*//' \
      -e '/^description:/s/\([A-Z][a-z0-9]\+\)\{2,\}/!\0/g' \
      -e "s#^description:[[:blank:]]*\(.*\)#||$s||''\1''||#" \
      -e 's#^firmware:[[:blank:]]*\(.*\)#[[DebianPkg:file:\1|\1]]<<BR>>#' |
  tr -d '\n' |
  sed -e 's/<<BR>>$//' \
      -e 's/$/||\n/'
done |
sort

Micrologiciels d'ordinateur

BIOS
(wikipedia)

Présent sur les ordinateurs appelés compatibles IBM-PC

OpenFirmware
connu aussi sous le nom de OpenBoot
(wikipedia)

Présent sur :
* les systèmes Sun SPARC,
* IBM Power,
* les Apple Macintosh basés sur PowerPC,
* IEEE 1275-1994,
...

EFI
(wikipedia)

Présent sur :
* les systèmes ia64 (Itanium),
* quelques systèmes ia32/amd64 (Macintosh Intel, quelques Dell Servers..),
* quelques systèmes basés sur XScale

Coreboot (LinuxBIOS)
(wikipedia)

Présent sur quelques très rares cartes mères de PC.
Peut être testé sous QEMU http://www.coreboot.org/QEMU

PMON2000
(homepage)

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

Mise à jour du micrologiciel

Le micrologiciel peut être mis à jour en utilisant fwupd ou diverses méthodes spécifiques au fournisseur. Firmware can be updated using fwupd or various vendor-specific methods.