All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Christian Hitz <christian@klarinett.li>
Cc: Gary Bisson <bisson.gary@gmail.com>,
	Christian Hitz <christian.hitz@bbv.ch>,
	Refik Tuzakli <tuzakli.refik@gmail.com>,
	buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH] package/freescale-imx/firmware-imx: fix installation with merged usr dirs
Date: Wed, 21 Dec 2022 10:48:48 +0100	[thread overview]
Message-ID: <20221221094848.GJ2909@scaer> (raw)
In-Reply-To: <20221220133454.1931855-1-christian@klarinett.li>

Christian, All,

On 2022-12-20 14:34 +0100, Christian Hitz spake thusly:
> From: Christian Hitz <christian.hitz@bbv.ch>
> 
> Currently, the firmware files are installed to /lib/firmware/imx. With
> BR2_ROOTFS_MERGED_USR=y /lib is replaced with a symlink to /usr/lib
> effectively deleting the installed firmware files.

That does not make sense: the /lib symlink is created by the skeleton,
which is the very first package to be installed, and so all packages to
get to see the symlink. /lib as a directory is never deleted, because it
never existed in the first place.

And indeed, with the current master, so without your patch applied, I
just tried the following defconfig:

    BR2_arm=y
    BR2_TOOLCHAIN_EXTERNAL=y
    BR2_ROOTFS_MERGED_USR=y
    BR2_PACKAGE_FREESCALE_IMX=y
    BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y
    BR2_PACKAGE_FIRMWARE_IMX=y

And I do get the firmware file as expected in /usr/lib/firmware:

    $ tar tf images/rootfs.tar |grep firmware |sort
    ./usr/lib/firmware/
    ./usr/lib/firmware/imx/
    ./usr/lib/firmware/imx/easrc/
    ./usr/lib/firmware/imx/easrc/easrc-imx8mn.bin
    ./usr/lib/firmware/imx/sdma/
    ./usr/lib/firmware/imx/sdma/sdma-imx7d.bin

And this is the same files that are installed without merged usr.

Could you provide a defconfig that exhibits the issue, please?

Regards,
Yann E. MORIN.

> Install the firmware files into the /usr/lib/firmware/imx prefix instead.
> 
> Signed-off-by: Christian Hitz <christian.hitz@bbv.ch>
> ---
> Backport to: 2022.02.x, 2022.11.x
> ---
>  .../firmware-imx/firmware-imx.mk              | 29 ++++++++++++-------
>  1 file changed, 18 insertions(+), 11 deletions(-)
> 
> diff --git a/package/freescale-imx/firmware-imx/firmware-imx.mk b/package/freescale-imx/firmware-imx/firmware-imx.mk
> index 99fe71a91c..2171ce592e 100644
> --- a/package/freescale-imx/firmware-imx/firmware-imx.mk
> +++ b/package/freescale-imx/firmware-imx/firmware-imx.mk
> @@ -128,14 +128,21 @@ define FIRMWARE_IMX_INSTALL_IMAGE_HDMI_FW
>  endef
>  endif
>  
> +# /lib is really /usr/lib with merged /usr, so adjust path
> +ifeq ($(BR2_ROOTFS_MERGED_USR),y)
> +FIRMWARE_IMX_TARGET_LIBRARY_PATH = $(TARGET_DIR)/usr/lib/firmware
> +else
> +FIRMWARE_IMX_TARGET_LIBRARY_PATH = $(TARGET_DIR)/lib/firmware
> +endif
> +
>  #
>  # EASRC firmware
>  #
>  
>  ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_NEEDS_EASRC_FW),y)
>  define FIRMWARE_IMX_INSTALL_TARGET_EASRC_FW
> -	mkdir -p $(TARGET_DIR)/lib/firmware/imx
> -	cp -r $(@D)/firmware/easrc $(TARGET_DIR)/lib/firmware/imx
> +	mkdir -p $(FIRMWARE_IMX_TARGET_LIBRARY_PATH)/imx
> +	cp -r $(@D)/firmware/easrc $(FIRMWARE_IMX_TARGET_LIBRARY_PATH)/imx
>  endef
>  endif
>  
> @@ -145,10 +152,10 @@ endif
>  
>  ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_NEEDS_EPDC_FW),y)
>  define FIRMWARE_IMX_INSTALL_TARGET_EPDC_FW
> -	mkdir -p $(TARGET_DIR)/lib/firmware/imx
> -	cp -r $(@D)/firmware/epdc $(TARGET_DIR)/lib/firmware/imx
> -	mv $(TARGET_DIR)/lib/firmware/imx/epdc/epdc_ED060XH2C1.fw.nonrestricted \
> -		$(TARGET_DIR)/lib/firmware/imx/epdc/epdc_ED060XH2C1.fw
> +	mkdir -p $(FIRMWARE_IMX_TARGET_LIBRARY_PATH)/imx
> +	cp -r $(@D)/firmware/epdc $(FIRMWARE_IMX_TARGET_LIBRARY_PATH)/imx
> +	mv $(FIRMWARE_IMX_TARGET_LIBRARY_PATH)/imx/epdc/epdc_ED060XH2C1.fw.nonrestricted \
> +		$(FIRMWARE_IMX_TARGET_LIBRARY_PATH)/imx/epdc/epdc_ED060XH2C1.fw
>  endef
>  endif
>  
> @@ -159,9 +166,9 @@ endif
>  FIRMWARE_IMX_SDMA_FW_NAME = $(call qstrip,$(BR2_PACKAGE_FIRMWARE_IMX_SDMA_FW_NAME))
>  ifneq ($(FIRMWARE_IMX_SDMA_FW_NAME),)
>  define FIRMWARE_IMX_INSTALL_TARGET_SDMA_FW
> -	mkdir -p $(TARGET_DIR)/lib/firmware/imx/sdma
> +	mkdir -p $(FIRMWARE_IMX_TARGET_LIBRARY_PATH)/imx/sdma
>  	cp -r $(@D)/firmware/sdma/sdma-$(FIRMWARE_IMX_SDMA_FW_NAME)*.bin \
> -	       $(TARGET_DIR)/lib/firmware/imx/sdma/
> +	       $(FIRMWARE_IMX_TARGET_LIBRARY_PATH)/imx/sdma/
>  endef
>  endif
>  
> @@ -172,10 +179,10 @@ endif
>  FIRMWARE_IMX_VPU_FW_NAME = $(call qstrip,$(BR2_PACKAGE_FIRMWARE_IMX_VPU_FW_NAME))
>  ifneq ($(FIRMWARE_IMX_VPU_FW_NAME),)
>  define FIRMWARE_IMX_INSTALL_TARGET_VPU_FW
> -	mkdir -p $(TARGET_DIR)/lib/firmware/vpu
> +	mkdir -p $(FIRMWARE_IMX_TARGET_LIBRARY_PATH)/vpu
>  	for i in $$(find $(@D)/firmware/vpu/vpu_fw_$(FIRMWARE_IMX_VPU_FW_NAME)*.bin); do \
> -		cp $$i $(TARGET_DIR)/lib/firmware/vpu/ ; \
> -		ln -sf vpu/$$(basename $$i) $(TARGET_DIR)/lib/firmware/$$(basename $$i) ; \
> +		cp $$i $(FIRMWARE_IMX_TARGET_LIBRARY_PATH)/vpu/ ; \
> +		ln -sf vpu/$$(basename $$i) $(FIRMWARE_IMX_TARGET_LIBRARY_PATH)/$$(basename $$i) ; \
>  	done
>  endef
>  endif
> -- 
> 2.38.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

      parent reply	other threads:[~2022-12-21  9:49 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-20 13:34 [Buildroot] [PATCH] package/freescale-imx/firmware-imx: fix installation with merged usr dirs Christian Hitz
2022-12-21  8:32 ` Gary Bisson
2022-12-21  9:54   ` Yann E. MORIN
2022-12-21  9:57     ` Gary Bisson
2022-12-21  9:48 ` Yann E. MORIN [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221221094848.GJ2909@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=bisson.gary@gmail.com \
    --cc=buildroot@buildroot.org \
    --cc=christian.hitz@bbv.ch \
    --cc=christian@klarinett.li \
    --cc=tuzakli.refik@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.