diff mbox series

[v3,1/1] package/brcmfmac_sdio-firmware-rpi: bump version to 26ff205

Message ID 20240229052236.50171-1-nisargjhaveri@gmail.com
State Accepted
Headers show
Series [v3,1/1] package/brcmfmac_sdio-firmware-rpi: bump version to 26ff205 | expand

Commit Message

Nisarg Jhaveri Feb. 29, 2024, 5:22 a.m. UTC
The current version is more than 2 years old. Update to the latest.
A lot of the files are symlinked. Instead of individually restoring the links, using `cp --remove-destination --no-dereference` and `chmod` instead of `install`.

Signed-off-by: Nisarg Jhaveri <nisargjhaveri@gmail.com>
---
Changes v2 -> v3:
  - Attempt to fix patch formatting

Changes v1 -> v2:
  - Attempt to fix patch formatting

---
 .../brcmfmac_sdio-firmware-rpi.hash           |  4 +--
 .../brcmfmac_sdio-firmware-rpi.mk             | 27 +++++++------------
 2 files changed, 12 insertions(+), 19 deletions(-)

Comments

Nisarg Jhaveri March 31, 2024, 8:03 p.m. UTC | #1
This should also be backported to 2024.02.1 as the builds for Raspberry Pi
boards are broken since 13ba668a2da3a0dcb386578ce15b00a444101dbe.

Backport to: 2024.02.1

On Thu, Feb 29, 2024 at 10:53 AM Nisarg Jhaveri <nisargjhaveri@gmail.com>
wrote:

> The current version is more than 2 years old. Update to the latest.
> A lot of the files are symlinked. Instead of individually restoring the
> links, using `cp --remove-destination --no-dereference` and `chmod` instead
> of `install`.
>
> Signed-off-by: Nisarg Jhaveri <nisargjhaveri@gmail.com>
> ---
> Changes v2 -> v3:
>   - Attempt to fix patch formatting
>
> Changes v1 -> v2:
>   - Attempt to fix patch formatting
>
> ---
>  .../brcmfmac_sdio-firmware-rpi.hash           |  4 +--
>  .../brcmfmac_sdio-firmware-rpi.mk             | 27 +++++++------------
>  2 files changed, 12 insertions(+), 19 deletions(-)
>
> diff --git
> a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash
> b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash
> index a12e92cbac..aa1043518b 100644
> --- a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash
> +++ b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash
> @@ -1,3 +1,3 @@
>  # Locally calculated
> -sha256  e51b717c2a60ca29fcdd8e04e07c00996226cb48fa56a8ad1934b5f4ddee2e3d
> brcmfmac_sdio-firmware-rpi-ea9963f3f77b4bb6cd280577eb115152bdd67e8d.tar.gz
> -sha256  b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d
> LICENCE.broadcom_bcm43xx
> +sha256  2f0917b104739455dd488dd8f5af2ee4430801a7ac8fe8d9866e74bfbb185356
> brcmfmac_sdio-firmware-rpi-26ff205b45dc109b498a70aaf182804ad9dbfea5.tar.gz
> +sha256  ea8b7b7b6cfc6fd30587ed977100f6a542734ce53218b5b63de16180acddd599
> LICENCE
> diff --git a/package/brcmfmac_sdio-firmware-rpi/
> brcmfmac_sdio-firmware-rpi.mk b/package/brcmfmac_sdio-firmware-rpi/
> brcmfmac_sdio-firmware-rpi.mk
> index 5332bf53d7..7860de3ef7 100644
> --- a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk
> +++ b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk
> @@ -4,33 +4,26 @@
>  #
>
>  ################################################################################
>
> -BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION =
> ea9963f3f77b4bb6cd280577eb115152bdd67e8d
> +BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION =
> 26ff205b45dc109b498a70aaf182804ad9dbfea5
>  BRCMFMAC_SDIO_FIRMWARE_RPI_SITE = $(call
> github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION))
>  BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE = PROPRIETARY
> -BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE_FILES = LICENCE.broadcom_bcm43xx
> +BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE_FILES = LICENCE
>
>  ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT),y)
>  define BRCMFMAC_SDIO_FIRMWARE_RPI_INSTALL_TARGET_BT
> -       $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
> -       $(INSTALL) -m 0644 $(@D)/firmware/brcm/*.hcd
> $(TARGET_DIR)/lib/firmware/brcm
> +       $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
> $(TARGET_DIR)/lib/firmware/synaptics
> +       cp --remove-destination --no-dereference $(@D)/firmware/brcm/*.hcd
> $(TARGET_DIR)/lib/firmware/brcm
> +       cp --remove-destination --no-dereference
> $(@D)/firmware/synaptics/*.hcd $(TARGET_DIR)/lib/firmware/synaptics
> +       chmod 644 $(TARGET_DIR)/lib/firmware/brcm/*.hcd
> $(TARGET_DIR)/lib/firmware/synaptics/*.hcd
>  endef
>  endif
>
>  ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI),y)
>  define BRCMFMAC_SDIO_FIRMWARE_RPI_INSTALL_TARGET_WIFI
> -       $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
> -       $(INSTALL) -m 0644 $(@D)/firmware/brcm/brcmfmac*
> $(TARGET_DIR)/lib/firmware/brcm
> -       ln -sf ../cypress/cyfmac43430-sdio.bin
> $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.bin
> -       ln -sf ../cypress/cyfmac43430-sdio.clm_blob
> $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob
> -       ln -sf brcmfmac43430-sdio.txt
> $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
> -       ln -sf brcmfmac43430-sdio.txt
> $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt
> -       ln -sf ../cypress/cyfmac43455-sdio.bin
> $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.bin
> -       ln -sf ../cypress/cyfmac43455-sdio.clm_blob
> $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob
> -       ln -sf brcmfmac43455-sdio.txt
> $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt
> -       ln -sf brcmfmac43455-sdio.txt
> $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
> -       ln -sf brcmfmac43455-sdio.txt
> $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
> -       $(INSTALL) -d $(TARGET_DIR)/lib/firmware/cypress
> -       $(INSTALL) -m 0644 $(@D)/firmware/cypress/cyfmac*
> $(TARGET_DIR)/lib/firmware/cypress
> +       $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
> $(TARGET_DIR)/lib/firmware/cypress
> +       cp --remove-destination --no-dereference
> $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm
> +       cp --remove-destination --no-dereference
> $(@D)/firmware/cypress/cyfmac* $(TARGET_DIR)/lib/firmware/cypress
> +       chmod 644 $(TARGET_DIR)/lib/firmware/brcm/brcmfmac*
> $(TARGET_DIR)/lib/firmware/cypress/cyfmac*
>  endef
>  endif
>
> --
> 2.38.1.vfs.0.0
>
>
Arnout Vandecappelle April 7, 2024, 3:12 p.m. UTC | #2
On 31/03/2024 22:03, Nisarg Jhaveri wrote:
> This should also be backported to 2024.02.1 as the builds for Raspberry Pi 
> boards are broken since 13ba668a2da3a0dcb386578ce15b00a444101dbe.

  The proper way to indicate this is with a Fixes: tag.

> 
> Backport to: 2024.02.1
> 
> On Thu, Feb 29, 2024 at 10:53 AM Nisarg Jhaveri <nisargjhaveri@gmail.com 
> <mailto:nisargjhaveri@gmail.com>> wrote:
> 
>     The current version is more than 2 years old. Update to the latest.
>     A lot of the files are symlinked. Instead of individually restoring the
>     links, using `cp --remove-destination --no-dereference` and `chmod` instead
>     of `install`.

  Please make sure the commit message is wrapped at 72 columns.

> 
>     Signed-off-by: Nisarg Jhaveri <nisargjhaveri@gmail.com
>     <mailto:nisargjhaveri@gmail.com>>
>     ---
>     Changes v2 -> v3:
>        - Attempt to fix patch formatting
> 
>     Changes v1 -> v2:
>        - Attempt to fix patch formatting
> 
>     ---
>       .../brcmfmac_sdio-firmware-rpi.hash           |  4 +--
>       .../brcmfmac_sdio-firmware-rpi.mk <http://brcmfmac_sdio-firmware-rpi.mk> 
>                 | 27 +++++++------------
>       2 files changed, 12 insertions(+), 19 deletions(-)
> 
>     diff --git
>     a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash
>     b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash
>     index a12e92cbac..aa1043518b 100644
>     --- a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash
>     +++ b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash
>     @@ -1,3 +1,3 @@
>       # Locally calculated
>     -sha256  e51b717c2a60ca29fcdd8e04e07c00996226cb48fa56a8ad1934b5f4ddee2e3d 
>     brcmfmac_sdio-firmware-rpi-ea9963f3f77b4bb6cd280577eb115152bdd67e8d.tar.gz
>     -sha256  b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d 
>     LICENCE.broadcom_bcm43xx
>     +sha256  2f0917b104739455dd488dd8f5af2ee4430801a7ac8fe8d9866e74bfbb185356 
>     brcmfmac_sdio-firmware-rpi-26ff205b45dc109b498a70aaf182804ad9dbfea5.tar.gz
>     +sha256  ea8b7b7b6cfc6fd30587ed977100f6a542734ce53218b5b63de16180acddd599 
>     LICENCE

  The license file changed name from LICENCE to LICENSE.

>     diff --git
>     a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk
>     <http://brcmfmac_sdio-firmware-rpi.mk>
>     b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk
>     <http://brcmfmac_sdio-firmware-rpi.mk>
>     index 5332bf53d7..7860de3ef7 100644
>     --- a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk
>     <http://brcmfmac_sdio-firmware-rpi.mk>
>     +++ b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk
>     <http://brcmfmac_sdio-firmware-rpi.mk>
>     @@ -4,33 +4,26 @@
>       #
>       ################################################################################
> 
>     -BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION = ea9963f3f77b4bb6cd280577eb115152bdd67e8d
>     +BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION = 26ff205b45dc109b498a70aaf182804ad9dbfea5
>       BRCMFMAC_SDIO_FIRMWARE_RPI_SITE = $(call
>     github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION))
>       BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE = PROPRIETARY
>     -BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE_FILES = LICENCE.broadcom_bcm43xx
>     +BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE_FILES = LICENCE
> 
>       ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT),y)
>       define BRCMFMAC_SDIO_FIRMWARE_RPI_INSTALL_TARGET_BT
>     -       $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
>     -       $(INSTALL) -m 0644 $(@D)/firmware/brcm/*.hcd
>     $(TARGET_DIR)/lib/firmware/brcm
>     +       $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
>     $(TARGET_DIR)/lib/firmware/synaptics

  This synaptics directory is new, that should have been mentioned in the commit 
message.

  I added the license file rename and modified the commit message as follows.

     package/brcmfmac_sdio-firmware-rpi: bump version to 26ff205

     The current version is more than 2 years old. Update to the latest.

     This fixes runtime issues with the newer kernel used in our defconfigs
     since commit 13ba668a2da3a0dcb386578ce15b00a444101dbe.

     License file changed name from LICENCE to LICENSE but is otherwise
     unchanged.

     There is a new directory "synaptics", install this one as well.

     A lot of the files are symlinks. "install" creates copies for these,
     which consumes a lot of unnecessary space. Instead of individually
     restoring the links, using `cp --remove-destination --no-dereference`
     and `chmod` instead of `install`.

     Fixes: 13ba668a2da3a0dcb386578ce15b00a444101dbe
     Signed-off-by: Nisarg Jhaveri <nisargjhaveri@gmail.com>
     [Arnout: correct license file name]
     Signed-off-by: Arnout Vandecappelle <arnout@mind.be>


  Applied to master, thanks.

  Regards,
  Arnout


>     +       cp --remove-destination --no-dereference $(@D)/firmware/brcm/*.hcd
>     $(TARGET_DIR)/lib/firmware/brcm
>     +       cp --remove-destination --no-dereference
>     $(@D)/firmware/synaptics/*.hcd $(TARGET_DIR)/lib/firmware/synaptics
>     +       chmod 644 $(TARGET_DIR)/lib/firmware/brcm/*.hcd
>     $(TARGET_DIR)/lib/firmware/synaptics/*.hcd
>       endef
>       endif
> 
>       ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI),y)
>       define BRCMFMAC_SDIO_FIRMWARE_RPI_INSTALL_TARGET_WIFI
>     -       $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
>     -       $(INSTALL) -m 0644 $(@D)/firmware/brcm/brcmfmac*
>     $(TARGET_DIR)/lib/firmware/brcm
>     -       ln -sf ../cypress/cyfmac43430-sdio.bin
>     $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.bin
>     -       ln -sf ../cypress/cyfmac43430-sdio.clm_blob
>     $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob
>     -       ln -sf brcmfmac43430-sdio.txt
>     $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
>     -       ln -sf brcmfmac43430-sdio.txt
>     $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt
>     -       ln -sf ../cypress/cyfmac43455-sdio.bin
>     $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.bin
>     -       ln -sf ../cypress/cyfmac43455-sdio.clm_blob
>     $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob
>     -       ln -sf brcmfmac43455-sdio.txt
>     $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt
>     -       ln -sf brcmfmac43455-sdio.txt
>     $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
>     -       ln -sf brcmfmac43455-sdio.txt
>     $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
>     -       $(INSTALL) -d $(TARGET_DIR)/lib/firmware/cypress
>     -       $(INSTALL) -m 0644 $(@D)/firmware/cypress/cyfmac*
>     $(TARGET_DIR)/lib/firmware/cypress
>     +       $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
>     $(TARGET_DIR)/lib/firmware/cypress
>     +       cp --remove-destination --no-dereference
>     $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm
>     +       cp --remove-destination --no-dereference
>     $(@D)/firmware/cypress/cyfmac* $(TARGET_DIR)/lib/firmware/cypress
>     +       chmod 644 $(TARGET_DIR)/lib/firmware/brcm/brcmfmac*
>     $(TARGET_DIR)/lib/firmware/cypress/cyfmac*
>       endef
>       endif
> 
>     -- 
>     2.38.1.vfs.0.0
> 
> 
> 
> -- 
> Nisarg Jhaveri
> નિસર્ગ ઝવેરી
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash
index a12e92cbac..aa1043518b 100644
--- a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash
+++ b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash
@@ -1,3 +1,3 @@ 
 # Locally calculated
-sha256  e51b717c2a60ca29fcdd8e04e07c00996226cb48fa56a8ad1934b5f4ddee2e3d  brcmfmac_sdio-firmware-rpi-ea9963f3f77b4bb6cd280577eb115152bdd67e8d.tar.gz
-sha256  b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d  LICENCE.broadcom_bcm43xx
+sha256  2f0917b104739455dd488dd8f5af2ee4430801a7ac8fe8d9866e74bfbb185356  brcmfmac_sdio-firmware-rpi-26ff205b45dc109b498a70aaf182804ad9dbfea5.tar.gz
+sha256  ea8b7b7b6cfc6fd30587ed977100f6a542734ce53218b5b63de16180acddd599  LICENCE
diff --git a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk
index 5332bf53d7..7860de3ef7 100644
--- a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk
+++ b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk
@@ -4,33 +4,26 @@ 
 #
 ################################################################################
 
-BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION = ea9963f3f77b4bb6cd280577eb115152bdd67e8d
+BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION = 26ff205b45dc109b498a70aaf182804ad9dbfea5
 BRCMFMAC_SDIO_FIRMWARE_RPI_SITE = $(call github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION))
 BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE = PROPRIETARY
-BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE_FILES = LICENCE.broadcom_bcm43xx
+BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE_FILES = LICENCE
 
 ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT),y)
 define BRCMFMAC_SDIO_FIRMWARE_RPI_INSTALL_TARGET_BT
-	$(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
-	$(INSTALL) -m 0644 $(@D)/firmware/brcm/*.hcd $(TARGET_DIR)/lib/firmware/brcm
+	$(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm $(TARGET_DIR)/lib/firmware/synaptics
+	cp --remove-destination --no-dereference $(@D)/firmware/brcm/*.hcd $(TARGET_DIR)/lib/firmware/brcm
+	cp --remove-destination --no-dereference $(@D)/firmware/synaptics/*.hcd $(TARGET_DIR)/lib/firmware/synaptics
+	chmod 644 $(TARGET_DIR)/lib/firmware/brcm/*.hcd $(TARGET_DIR)/lib/firmware/synaptics/*.hcd
 endef
 endif
 
 ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI),y)
 define BRCMFMAC_SDIO_FIRMWARE_RPI_INSTALL_TARGET_WIFI
-	$(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
-	$(INSTALL) -m 0644 $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm
-	ln -sf ../cypress/cyfmac43430-sdio.bin $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.bin
-	ln -sf ../cypress/cyfmac43430-sdio.clm_blob $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob
-	ln -sf brcmfmac43430-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
-	ln -sf brcmfmac43430-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt
-	ln -sf ../cypress/cyfmac43455-sdio.bin $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.bin
-	ln -sf ../cypress/cyfmac43455-sdio.clm_blob $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob
-	ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt
-	ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
-	ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
-	$(INSTALL) -d $(TARGET_DIR)/lib/firmware/cypress
-	$(INSTALL) -m 0644 $(@D)/firmware/cypress/cyfmac* $(TARGET_DIR)/lib/firmware/cypress
+	$(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm $(TARGET_DIR)/lib/firmware/cypress
+	cp --remove-destination --no-dereference $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm
+	cp --remove-destination --no-dereference $(@D)/firmware/cypress/cyfmac* $(TARGET_DIR)/lib/firmware/cypress
+	chmod 644 $(TARGET_DIR)/lib/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/cypress/cyfmac*
 endef
 endif