Back to home page

OSCL-LXR

 
 

    


0001 =================
0002 Built-in firmware
0003 =================
0004 
0005 Firmware can be built-in to the kernel, this means building the firmware
0006 into vmlinux directly, to enable avoiding having to look for firmware from
0007 the filesystem. Instead, firmware can be looked for inside the kernel
0008 directly. You can enable built-in firmware using the kernel configuration
0009 options:
0010 
0011   * CONFIG_EXTRA_FIRMWARE
0012   * CONFIG_EXTRA_FIRMWARE_DIR
0013 
0014 There are a few reasons why you might want to consider building your firmware
0015 into the kernel with CONFIG_EXTRA_FIRMWARE:
0016 
0017 * Speed
0018 * Firmware is needed for accessing the boot device, and the user doesn't
0019   want to stuff the firmware into the boot initramfs.
0020 
0021 Even if you have these needs there are a few reasons why you may not be
0022 able to make use of built-in firmware:
0023 
0024 * Legalese - firmware is non-GPL compatible
0025 * Some firmware may be optional
0026 * Firmware upgrades are possible, therefore a new firmware would implicate
0027   a complete kernel rebuild.
0028 * Some firmware files may be really large in size. The remote-proc subsystem
0029   is an example subsystem which deals with these sorts of firmware
0030 * The firmware may need to be scraped out from some device specific location
0031   dynamically, an example is calibration data for some WiFi chipsets. This
0032   calibration data can be unique per sold device.
0033