[Buildroot] [PATCH v2 1/5] linux: enable CONFIG_EXTRA_FIRMWARE_DIR

Thomas Petazzoni thomas.petazzoni at bootlin.com
Sun Oct 30 20:43:00 UTC 2022


On Fri, 14 Oct 2022 08:58:56 +0200
Angelo Compagnucci <angelo at amarulasolutions.com> wrote:

> +	# The kernel CONFIG_EXTRA_FIRMWARE feature requires to have the firmware full
> +	# path for locating firmware file.
> +	$(call KCONFIG_SET_OPT,CONFIG_EXTRA_FIRMWARE_DIR,"$(STAGING_DIR)/lib/firmware")

Unfortunately, this is really not a good idea, especially if it is
meant to be used with your rtl8723ds-bt package. Indeed, the
rtl8723ds-bt firmware is according to your package under a PROPRIETARY
license, so not compatible with the GPL.

Except that CONFIG_EXTRA_FIRMWARE_DIR can only be used for firmware
that is GPL-compatible, as they get linked into the kernel image. What
you're proposing to do makes it illegal to distribute the resulting
kernel image. You can do it on your machine, but you're not allowed to
distribute this kernel image, which for something like Buildroot is a
bit of a problem, as you can imagine.

See
https://elixir.bootlin.com/linux/latest/source/Documentation/driver-api/firmware/built-in-fw.rst#L21

The only options for such firmware is:

 (1) In the root filesystem, which means the driver needs to be a
     module... but that's anyway OK as it's going to be the case as it's an
     out of tree kernel driver, and therefore always compiled as a
     module.

 (2) In an initramfs loaded separately from the kernel.

Best regards,

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com



More information about the buildroot mailing list