Navigation: Linux Kernel Driver DataBase - web LKDDB: Main index - E index

CONFIG_EXTRA_FIRMWARE: Build named firmware blobs into the kernel binary

General informations

The Linux kernel configuration item CONFIG_EXTRA_FIRMWARE has multiple definitions:

Build named firmware blobs into the kernel binary found in drivers/base/firmware_loader/Kconfig

The configuration item CONFIG_EXTRA_FIRMWARE:

Help text

Device drivers which require firmware can typically deal with having the kernel load firmware from the various supported /lib/firmware/ paths. This option enables you to build into the kernel firmware files. Built-in firmware searches are preceded over firmware lookups using your filesystem over the supported /lib/firmware paths documented on FW_LOADER.

This may be useful for testing or if the firmware is required early on in boot and cannot rely on the firmware being placed in an initrd or initramfs.

This option is a string and takes the (space-separated) names of the firmware files -- the same names that appear in MODULE_FIRMWARE() and request_firmware() in the source. These files should exist under the directory specified by the EXTRA_FIRMWARE_DIR option, which is /lib/firmware by default.

For example, you might set EXTRA_FIRMWARE="usb8388.bin", copy the usb8388.bin file into /lib/firmware, and build the kernel. Then any request_firmware("usb8388.bin") will be satisfied internally inside the kernel without ever looking at your filesystem at runtime.

WARNING: If you include additional firmware files into your binary kernel image that are not available under the terms of the GPL, then it may be a violation of the GPL to distribute the resulting image since it combines both GPL and non-GPL work. You should consult a lawyer of your own before distributing such an image.

NOTE: Compressed files are not supported in EXTRA_FIRMWARE.

External firmware blobs to build into the kernel binary found in drivers/base/Kconfig

The configuration item CONFIG_EXTRA_FIRMWARE:

Help text

Various drivers in the kernel source tree may require firmware, which is generally available in your distribution's linux-firmware package.

The linux-firmware package should install firmware into /lib/firmware/ on your system, so they can be loaded by userspace helpers on request.

This option allows firmware to be built into the kernel for the case where the user either cannot or doesn't want to provide it from userspace at runtime (for example, when the firmware in question is required for accessing the boot device, and the user doesn't want to use an initrd).

This option is a string and takes the (space-separated) names of the firmware files -- the same names that appear in MODULE_FIRMWARE() and request_firmware() in the source. These files should exist under the directory specified by the EXTRA_FIRMWARE_DIR option, which is /lib/firmware by default.

For example, you might set EXTRA_FIRMWARE="usb8388.bin", copy the usb8388.bin file into /lib/firmware, and build the kernel. Then any request_firmware("usb8388.bin") will be satisfied internally without needing to call out to userspace.

WARNING: If you include additional firmware files into your binary kernel image that are not available under the terms of the GPL, then it may be a violation of the GPL to distribute the resulting image since it combines both GPL and non-GPL work. You should consult a lawyer of your own before distributing such an image.

Hardware

LKDDb

Raw data from LKDDb:

Sources

This page is automaticly generated with free (libre, open) software lkddb(see lkddb-sources).

The data is retrived from:

Automatic links from Google (and ads)

Custom Search

Popular queries:

Navigation: Linux Kernel Driver DataBase - web LKDDB: main index - E index

Automatically generated (in year 2024). See also LKDDb sources on GitLab