[Buildroot] [PATCH 1/2] linux: install firmware to staging.
Yann E. MORIN
yann.morin.1998 at free.fr
Mon Jul 8 17:52:21 UTC 2013
On 2013-07-07 18:31 -0500, Spenser Gilliland spake thusly:
> Install firmware to staging when the hidden option
> BR2_LINUX_KERNEL_INSTALL_FIRMWARE is selected. This allows parts of the
> firmware provided by the linux kernel to be installed in the target.
>
> Signed-off-by: Spenser Gilliland <spenser at gillilanding.com>
> ---
> linux/Config.in | 5 +++++
> linux/linux.mk | 13 +++++++++++++
> 2 files changed, 18 insertions(+)
>
> diff --git a/linux/Config.in b/linux/Config.in
> index f58e714..b733019 100644
> --- a/linux/Config.in
> +++ b/linux/Config.in
> @@ -297,6 +297,11 @@ config BR2_LINUX_KERNEL_INSTALL_TARGET
> /boot in the target root filesystem, as is typically done on
> x86/x86_64 systems.
>
> +# This option is used to install firmware to staging. Other packages such as
> +# beagle-capes then install the firmware into the target. This avoids
> +# installing all linux firmware.
I would also states that this applies to special firmware files that are
*not* distributed with the linux-firmware package. All 'standard'
firmwares should be installed via linux-firmware. This knob is for very
special cases such as the BBB capes. Waht about:
# This option can be selected by other packages that require special
# firmwares bundled in some fiorks of the Linux kernell (eg. the BBB
# capes firmwares (.dtbo) as distributed in the TI Linux kernel fork).
# To install other firmwares, please use the linux-firmware package.
> +config BR2_LINUX_KERNEL_INSTALL_FIRMWARE
> + bool
>
> # Linux extensions
> source "linux/Config.ext.in"
> diff --git a/linux/linux.mk b/linux/linux.mk
> index befef16..88c954d 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -256,6 +256,15 @@ define LINUX_INSTALL_KERNEL_IMAGE_TO_TARGET
> endef
> endif
>
> +ifeq ($(BR2_LINUX_KERNEL_INSTALL_FIRMWARE),y)
> +
> +LINUX_INSTALL_STAGING = YES
> +
> +define LINUX_INSTALL_FIRMWARE_TO_STAGING
> + $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) firmware_install \
> + INSTALL_FW_PATH=$(STAGING_DIR)/lib/firmware/
> +endef
> +endif
>
> define LINUX_INSTALL_HOST_TOOLS
> # Installing dtc (device tree compiler) as host tool, if selected
> @@ -269,6 +278,10 @@ define LINUX_INSTALL_IMAGES_CMDS
> cp $(LINUX_IMAGE_PATH) $(BINARIES_DIR)
> endef
>
> +define LINUX_INSTALL_STAGING_CMDS
> + $(LINUX_INSTALL_FIRMWARE_TO_STAGING)
> +endef
> +
> define LINUX_INSTALL_TARGET_CMDS
> $(LINUX_INSTALL_KERNEL_IMAGE_TO_TARGET)
> $(LINUX_INSTALL_DTB)
Otherwise, LGTM.
Peter, Thomas, what do you thiink of this scheme? Should we puruse this
series, or do you have a better idea?
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list