1 ================= 1 ================= 2 Built-in firmware 2 Built-in firmware 3 ================= 3 ================= 4 4 5 Firmware can be built-in to the kernel, this m 5 Firmware can be built-in to the kernel, this means building the firmware 6 into vmlinux directly, to enable avoiding havi 6 into vmlinux directly, to enable avoiding having to look for firmware from 7 the filesystem. Instead, firmware can be looke 7 the filesystem. Instead, firmware can be looked for inside the kernel 8 directly. You can enable built-in firmware usi 8 directly. You can enable built-in firmware using the kernel configuration 9 options: 9 options: 10 10 11 * CONFIG_EXTRA_FIRMWARE 11 * CONFIG_EXTRA_FIRMWARE 12 * CONFIG_EXTRA_FIRMWARE_DIR 12 * CONFIG_EXTRA_FIRMWARE_DIR 13 13 >> 14 This should not be confused with CONFIG_FIRMWARE_IN_KERNEL, this is for drivers >> 15 which enables firmware to be built as part of the kernel build process. This >> 16 option, CONFIG_FIRMWARE_IN_KERNEL, will build all firmware for all drivers >> 17 enabled which ship its firmware inside the Linux kernel source tree. >> 18 14 There are a few reasons why you might want to 19 There are a few reasons why you might want to consider building your firmware 15 into the kernel with CONFIG_EXTRA_FIRMWARE: !! 20 into the kernel with CONFIG_EXTRA_FIRMWARE though: 16 21 17 * Speed 22 * Speed 18 * Firmware is needed for accessing the boot de 23 * Firmware is needed for accessing the boot device, and the user doesn't 19 want to stuff the firmware into the boot ini 24 want to stuff the firmware into the boot initramfs. 20 25 21 Even if you have these needs there are a few r 26 Even if you have these needs there are a few reasons why you may not be 22 able to make use of built-in firmware: 27 able to make use of built-in firmware: 23 28 24 * Legalese - firmware is non-GPL compatible 29 * Legalese - firmware is non-GPL compatible 25 * Some firmware may be optional 30 * Some firmware may be optional 26 * Firmware upgrades are possible, therefore a 31 * Firmware upgrades are possible, therefore a new firmware would implicate 27 a complete kernel rebuild. 32 a complete kernel rebuild. 28 * Some firmware files may be really large in s 33 * Some firmware files may be really large in size. The remote-proc subsystem 29 is an example subsystem which deals with the 34 is an example subsystem which deals with these sorts of firmware 30 * The firmware may need to be scraped out from 35 * The firmware may need to be scraped out from some device specific location 31 dynamically, an example is calibration data !! 36 dynamically, an example is calibration data for for some WiFi chipsets. This 32 calibration data can be unique per sold devi 37 calibration data can be unique per sold device. 33 38
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.