1================= 2Built-in firmware 3================= 4 5Firmware can be built-in to the kernel, this means building the firmware 6into vmlinux directly, to enable avoiding having to look for firmware from 7the filesystem. Instead, firmware can be looked for inside the kernel 8directly. You can enable built-in firmware using the kernel configuration 9options: 10 11 * CONFIG_EXTRA_FIRMWARE 12 * CONFIG_EXTRA_FIRMWARE_DIR 13 14There are a few reasons why you might want to consider building your firmware 15into the kernel with CONFIG_EXTRA_FIRMWARE: 16 17* Speed 18* Firmware is needed for accessing the boot device, and the user doesn't 19 want to stuff the firmware into the boot initramfs. 20 21Even if you have these needs there are a few reasons why you may not be 22able to make use of built-in firmware: 23 24* Legalese - firmware is non-GPL compatible 25* Some firmware may be optional 26* Firmware upgrades are possible, therefore a new firmware would implicate 27 a complete kernel rebuild. 28* Some firmware files may be really large in size. The remote-proc subsystem 29 is an example subsystem which deals with these sorts of firmware 30* The firmware may need to be scraped out from some device specific location 31 dynamically, an example is calibration data for some WiFi chipsets. This 32 calibration data can be unique per sold device. 33 34