Differences between revisions 75 and 76
Revision 75 as of 2021-01-03 09:31:05
Size: 5412
Editor: PaulWise
Comment: APT sources could also be deb822
Revision 76 as of 2021-01-04 22:54:29
Size: 5354
Comment: UEFI is far less niche than in 2009, update article accordingly. Remove dead link to the now-defunct PMON2000 website.
Deletions are marked like this. Additions are marked like this.
Line 58: Line 58:
|| [[BIOS]] || Found on so called ''IBM-PC'' compatible computers- ([[WikiPedia:BIOS|wikipedia]]) || || EFI/[[UEFI]] || Found on most modern x86 PCs and servers, along with some ARM boards - ([[WikiPedia:Extensible_Firmware_Interface|wikipedia]]) ||
|| [[BIOS]] || Found on older "IBM-PC" machines, generally most regular PCs and servers that were manufactured before 2011 - ([[WikiPedia:BIOS|wikipedia]]) ||
Line 60: Line 61:
|| EFI/[[UEFI]] || Found on ia64 (Itanium) systems, some ia32/amd64 systems (Intel based Macintosh, some Dell Servers..), some [[WikiPedia:XScale]] based systems - ([[WikiPedia:Extensible_Firmware_Interface|wikipedia]]) ||
Line 62: Line 62:
|| PMON2000 || Found on the [[DebianYeeloong|Lemote Yeeloong]] and embedded devices - ([[http://www.pmon2000.com/|homepage]]) || || PMON2000 || Found on the [[DebianYeeloong|Lemote Yeeloong]] and embedded devices ||

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 a firmware to operate. Historically, firmware were built-into the device's ROM or Flash memory, but more and more often, the firmware has to be loaded into the device by the driver during the device initialization.

Some of these firmware are free and open-source, and some 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).

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

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 http://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).

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)

Found on very few PC motheboards. Can be tested under QEMU http://www.coreboot.org/QEMU - (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