5406
Comment: make it easier to find the images
|
6485
corrected formatting.
|
Deletions are marked like this. | Additions are marked like this. |
Line 11: | Line 11: |
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. | 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. |
Line 13: | Line 13: |
Some of these firmware are free and open-source, and some of them are [[https://www.debian.org/doc/debian-policy/ch-archive#s-non-free|non-free]], which means that you need to add the {{{non-free}}} and {{{contrib}}} components to your [[SourcesList|APT sources]]. |
[[#open|A few]] firmware images are Free Software and Open Source but almost all of them are [[https://www.debian.org/doc/debian-policy/ch-archive#s-non-free|non-free]], which means that you need to add the {{{non-free}}} and {{{contrib}}} components to your [[SourcesList|APT sources]]. |
Line 20: | Line 19: |
==== Debian 10 "Buster" installation images ==== | ==== Installation images with firmware ==== |
Line 22: | Line 21: |
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/]] | 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/]] |
Line 24: | Line 23: |
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. | ==== 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. |
Line 27: | Line 28: |
==== Firmware on removable media and preseeding ==== It is also possible to bypass the installer's searching and installation process by [[DebianInstaller/Preseed|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 [[DebianPkg:dosfstools|mkfs.vfat]] and [[DebianPkg:dosfstools|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 [[Installation+Archive+USBStick#firmware|elsewhere]]. {{{ Installation+Archive+USBStick preseed/early_command="modprobe vfat ; sleep 2 ; mount /dev/disk/by-label/FIRMWARE /media ; cp -a /media/firmware /lib" }}} |
|
Line 31: | Line 47: |
Line 56: | Line 71: |
Line 63: | Line 76: |
|| Coreboot (LinuxBIOS) || Found on very few PC motheboards. Can be tested under QEMU http://www.coreboot.org/QEMU - ([[WikiPedia:Coreboot|wikipedia]]) || | || Coreboot (LinuxBIOS) || Can be used on [[https://doc.coreboot.org/mainboard/|some boards]] and [[https://doc.coreboot.org/mainboard/index.html#emulation|tested under emulators]] - ([[WikiPedia:Coreboot|wikipedia]]) || |
Line 70: | Line 83: |
<<Anchor(open)>> | |
Line 75: | Line 89: |
## This page is referenced from http://www.debian.org/News/2011/20110205a ## This page is referenced from http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/ |
## This page is referenced from https://www.debian.org/News/2011/20110205a ## This page is referenced from https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/ |
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).
Contents
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"
NetbootFirmware - Firmware for Netbooting.
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)
/lib/firmware/$(uname -r) - Firmware provided by a package, specific for a kernel.
/lib/firmware/ - Firmware provided by a package, valid for all kernels.
/usr/local/lib/firmware - Location for manually installed firmware.
/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) |
Found on older "IBM-PC" machines, generally most regular PCs and servers that were manufactured before 2011 - (wikipedia) |
|
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