Differences between revisions 6 and 7
Revision 6 as of 2014-05-04 07:15:29
Size: 6840
Comment: Sync with English master
Revision 7 as of 2015-12-21 13:51:18
Size: 6871
Editor: vauss
Comment: sync with English master
Deletions are marked like this. Additions are marked like this.
Line 31: Line 31:
==== Debian 7 "Wheezy", Debian 6.0 "Squeeze" ==== ==== Debian 8 « Jessie », Debian 7 « Wheezy », Debian 6.0 « Squeeze » ====

Traduction(s): English - Français - Italiano


Firmware

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).


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 sources.list(5) et Debian archive basics (Debian Reference) pour des informations complémentaires.

le Firmware pendant l'installation

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, comme par exemple les périphériques ipw2200.

Avant de débuter l'installation d'un matériel qui ne vous est pas familier, nous vous suggérons de télécharger l'archive compressée (tarball) du microcode nécessaire à l'installation et de le décompresser dans une répertoire nommé "firmware" placé à la racine d'un support amovible. 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. Le lien de téléchargement des microcodes correspondant à votre distribution Debian est le suivant :http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/.

Le microcode fourni sur le support amovible peut, dans certains cas, ne pas être détecté (par exemple 740503). Pour corriger le problème, allez sur la console et montez manuellement le support sur /media.

Autrement, il existe maintenant des versions d'Images CD "netinst" qui incluent directement l'ensemble des paquets de microcodes non-libres : 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 microcodes dans les dépôts Debian.

Localisation des microcodes

Debian 8 « Jessie », Debian 7 « Wheezy », Debian 6.0 « Squeeze »

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

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

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

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

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

Liste des microcodes du noyau Linux

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

Voici la liste, générée automatiquement par le noyau linux 3.2.0-4-686-pae (Debian 3.2.41-2) de 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 firmware-linux-nonfree).

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

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

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

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


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).

Devices/Drivers Firmware

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 almost all of them are non-free, which means that you need to add the non-free and contrib components to your APT sources.

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/unofficial/non-free/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.

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 Linux kernel

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 all firmware distributed along Debian Linux kernel images.

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.

Open firmware

There are a number of projects creating various kinds of open firmware, including for booting, WiFi and audio.


CategoryPermalink | CategoryHardware | CategoryProprietarySoftware

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

Microcodes 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.