* [Buildroot] linux-firmware package : files not copied to TARGET_DIR
@ 2019-01-08 9:43 David Picard
2019-01-08 12:49 ` Thomas Petazzoni
0 siblings, 1 reply; 5+ messages in thread
From: David Picard @ 2019-01-08 9:43 UTC (permalink / raw)
To: buildroot
Hello,
The linux-firmware package builds OK. But I have to manually copy the
binary blob required by the driver to $TARGET/lib/firmware.
I'm wondering if it's normal behavior.
- David
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] linux-firmware package : files not copied to TARGET_DIR
2019-01-08 9:43 [Buildroot] linux-firmware package : files not copied to TARGET_DIR David Picard
@ 2019-01-08 12:49 ` Thomas Petazzoni
2019-01-08 13:17 ` David Picard
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2019-01-08 12:49 UTC (permalink / raw)
To: buildroot
Hello David,
On Tue, 8 Jan 2019 10:43:05 +0100, David Picard wrote:
> The linux-firmware package builds OK. But I have to manually copy the
> binary blob required by the driver to $TARGET/lib/firmware.
The linux-firmware package is definitely installing files to
$(TARGET_DIR):
ifneq ($(LINUX_FIRMWARE_FILES),)
define LINUX_FIRMWARE_INSTALL_FILES
cd $(@D) && \
$(TAR) cf install.tar $(sort $(LINUX_FIRMWARE_FILES)) && \
$(TAR) xf install.tar -C $(TARGET_DIR)/lib/firmware
endef
endif
ifneq ($(LINUX_FIRMWARE_DIRS),)
# We need to rm-rf the destination directory to avoid copying
# into it in itself, should we re-install the package.
define LINUX_FIRMWARE_INSTALL_DIRS
$(foreach d,$(LINUX_FIRMWARE_DIRS), \
rm -rf $(TARGET_DIR)/lib/firmware/$(d); \
mkdir -p $(dir $(TARGET_DIR)/lib/firmware/$(d)); \
cp -a $(@D)/$(d) $(TARGET_DIR)/lib/firmware/$(d)$(sep))
endef
endif
Could you describe in more details what you are seeing ? Which
configuration are you using ? Could you post the build log of the
linux-firmware package in your situation ?
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] linux-firmware package : files not copied to TARGET_DIR
2019-01-08 12:49 ` Thomas Petazzoni
@ 2019-01-08 13:17 ` David Picard
2019-01-08 14:39 ` Thomas Petazzoni
0 siblings, 1 reply; 5+ messages in thread
From: David Picard @ 2019-01-08 13:17 UTC (permalink / raw)
To: buildroot
I attached the build log.
I am using the CONFIG_E100 kernel driver, which needs
e100/d102e_ucode.bin from package linux-firmware for chipset Intel
82551IT Fast Ethernet Controller.
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/e100
I selected BR2_PACKAGE_LINUX_FIRMWARE in Buildroot, but none of the
options in the submenu. The file I need is actually present in the
package build directory, but is not installed.
I don't know if LINUX_FIRMWARE_FILES has a value before
linux-firmware.mk is invoked. If it's empty at the beginning, then it's
empty at the end, because none of the 'if' clauses match my case.
I was thinking of making a custom patch for linux-firmware.mk to copy
just the one file I need. What do you think ?
- David
Le 08/01/2019 ? 13:49, Thomas Petazzoni a ?crit?:
> Hello David,
>
> On Tue, 8 Jan 2019 10:43:05 +0100, David Picard wrote:
>
>> The linux-firmware package builds OK. But I have to manually copy the
>> binary blob required by the driver to $TARGET/lib/firmware.
> The linux-firmware package is definitely installing files to
> $(TARGET_DIR):
>
> ifneq ($(LINUX_FIRMWARE_FILES),)
> define LINUX_FIRMWARE_INSTALL_FILES
> cd $(@D) && \
> $(TAR) cf install.tar $(sort $(LINUX_FIRMWARE_FILES)) && \
> $(TAR) xf install.tar -C $(TARGET_DIR)/lib/firmware
> endef
> endif
>
> ifneq ($(LINUX_FIRMWARE_DIRS),)
> # We need to rm-rf the destination directory to avoid copying
> # into it in itself, should we re-install the package.
> define LINUX_FIRMWARE_INSTALL_DIRS
> $(foreach d,$(LINUX_FIRMWARE_DIRS), \
> rm -rf $(TARGET_DIR)/lib/firmware/$(d); \
> mkdir -p $(dir $(TARGET_DIR)/lib/firmware/$(d)); \
> cp -a $(@D)/$(d) $(TARGET_DIR)/lib/firmware/$(d)$(sep))
> endef
> endif
>
> Could you describe in more details what you are seeing ? Which
> configuration are you using ? Could you post the build log of the
> linux-firmware package in your situation ?
>
> Best regards,
>
> Thomas
-------------- next part --------------
picard at portpicard33:otb_scanotron$ make linux-firmware-reconfigure
rm -f /home/picard/lemb/otb_scanotron/build/linux-firmware-44d4fca9922a252a0bd81f6307bcc072a78da54a/.stamp_staging_installed
rm -f /home/picard/lemb/otb_scanotron/build/linux-firmware-44d4fca9922a252a0bd81f6307bcc072a78da54a/.stamp_target_installed
rm -f /home/picard/lemb/otb_scanotron/build/linux-firmware-44d4fca9922a252a0bd81f6307bcc072a78da54a/.stamp_images_installed
rm -f /home/picard/lemb/otb_scanotron/build/linux-firmware-44d4fca9922a252a0bd81f6307bcc072a78da54a/.stamp_host_installed
rm -f /home/picard/lemb/otb_scanotron/build/linux-firmware-44d4fca9922a252a0bd81f6307bcc072a78da54a/.stamp_built
rm -f /home/picard/lemb/otb_scanotron/build/linux-firmware-44d4fca9922a252a0bd81f6307bcc072a78da54a/.stamp_configured
>>> linux-firmware 44d4fca9922a252a0bd81f6307bcc072a78da54a Configuring
>>> linux-firmware 44d4fca9922a252a0bd81f6307bcc072a78da54a Building
>>> linux-firmware 44d4fca9922a252a0bd81f6307bcc072a78da54a Installing to target
mkdir -p /home/picard/lemb/otb_scanotron/target/lib/firmware
picard at portpicard33:otb_scanotron$ make V=1 linux-firmware-reconfigure
umask 0022 && make -C /home/picard/lemb/buildroot O=/home/picard/lemb/otb_scanotron/. linux-firmware-reconfigure
rm -f /home/picard/lemb/otb_scanotron/build/linux-firmware-44d4fca9922a252a0bd81f6307bcc072a78da54a/.stamp_staging_installed
rm -f /home/picard/lemb/otb_scanotron/build/linux-firmware-44d4fca9922a252a0bd81f6307bcc072a78da54a/.stamp_target_installed
rm -f /home/picard/lemb/otb_scanotron/build/linux-firmware-44d4fca9922a252a0bd81f6307bcc072a78da54a/.stamp_images_installed
rm -f /home/picard/lemb/otb_scanotron/build/linux-firmware-44d4fca9922a252a0bd81f6307bcc072a78da54a/.stamp_host_installed
rm -f /home/picard/lemb/otb_scanotron/build/linux-firmware-44d4fca9922a252a0bd81f6307bcc072a78da54a/.stamp_built
rm -f /home/picard/lemb/otb_scanotron/build/linux-firmware-44d4fca9922a252a0bd81f6307bcc072a78da54a/.stamp_configured
>>> linux-firmware 44d4fca9922a252a0bd81f6307bcc072a78da54a Configuring
touch /home/picard/lemb/otb_scanotron/build/linux-firmware-44d4fca9922a252a0bd81f6307bcc072a78da54a/.stamp_configured
>>> linux-firmware 44d4fca9922a252a0bd81f6307bcc072a78da54a Building
touch /home/picard/lemb/otb_scanotron/build/linux-firmware-44d4fca9922a252a0bd81f6307bcc072a78da54a/.stamp_built
>>> linux-firmware 44d4fca9922a252a0bd81f6307bcc072a78da54a Installing to target
mkdir -p /home/picard/lemb/otb_scanotron/target/lib/firmware
if test -n "" ; then \
rm -f -f ; \
fi
touch /home/picard/lemb/otb_scanotron/build/linux-firmware-44d4fca9922a252a0bd81f6307bcc072a78da54a/.stamp_target_installed
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] linux-firmware package : files not copied to TARGET_DIR
2019-01-08 13:17 ` David Picard
@ 2019-01-08 14:39 ` Thomas Petazzoni
2019-01-09 8:00 ` David Picard
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2019-01-08 14:39 UTC (permalink / raw)
To: buildroot
Hello,
On Tue, 8 Jan 2019 14:17:24 +0100, David Picard wrote:
> I am using the CONFIG_E100 kernel driver, which needs
> e100/d102e_ucode.bin from package linux-firmware for chipset Intel
> 82551IT Fast Ethernet Controller.
> https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/e100
>
> I selected BR2_PACKAGE_LINUX_FIRMWARE in Buildroot, but none of the
> options in the submenu. The file I need is actually present in the
> package build directory, but is not installed.
Well, if you don't enable any of the options in the linux-firmware
submenu, then no firmware gets installed.
> I was thinking of making a custom patch for linux-firmware.mk to copy
> just the one file I need. What do you think ?
That's what you need to do: add an option in
package/linux-firmware/Config.in for your firmware, and add the
necessary code in package/linux-firmware/linux-firmware.mk to add the
firmware to the LINUX_FIRMWARE_FILES variable when the option is
enabled. Don't forget to update LINUX_FIRMWARE_ALL_LICENSE_FILES
accordingly if needed. And to submit the resulting patch!
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] linux-firmware package : files not copied to TARGET_DIR
2019-01-08 14:39 ` Thomas Petazzoni
@ 2019-01-09 8:00 ` David Picard
0 siblings, 0 replies; 5+ messages in thread
From: David Picard @ 2019-01-09 8:00 UTC (permalink / raw)
To: buildroot
OK, if I can solve the issue with my video driver, I'll certainly do it.
Le 08/01/2019 ? 15:39, Thomas Petazzoni a ?crit?:
> Hello,
>
> On Tue, 8 Jan 2019 14:17:24 +0100, David Picard wrote:
>
>> I am using the CONFIG_E100 kernel driver, which needs
>> e100/d102e_ucode.bin from package linux-firmware for chipset Intel
>> 82551IT Fast Ethernet Controller.
>> https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/e100
>>
>> I selected BR2_PACKAGE_LINUX_FIRMWARE in Buildroot, but none of the
>> options in the submenu. The file I need is actually present in the
>> package build directory, but is not installed.
> Well, if you don't enable any of the options in the linux-firmware
> submenu, then no firmware gets installed.
>
>> I was thinking of making a custom patch for linux-firmware.mk to copy
>> just the one file I need. What do you think ?
> That's what you need to do: add an option in
> package/linux-firmware/Config.in for your firmware, and add the
> necessary code in package/linux-firmware/linux-firmware.mk to add the
> firmware to the LINUX_FIRMWARE_FILES variable when the option is
> enabled. Don't forget to update LINUX_FIRMWARE_ALL_LICENSE_FILES
> accordingly if needed. And to submit the resulting patch!
>
> Best regards,
>
> Thomas
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-01-09 8:00 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-08 9:43 [Buildroot] linux-firmware package : files not copied to TARGET_DIR David Picard
2019-01-08 12:49 ` Thomas Petazzoni
2019-01-08 13:17 ` David Picard
2019-01-08 14:39 ` Thomas Petazzoni
2019-01-09 8:00 ` David Picard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox