Skip to contentSkip to conversation

New package: linux-firmware

PATCH Superseded yegorslists at googlemail.com 7 participants 11 messages Jan 26, 2012

lore
Share & tools
lore
#0 lore raw

PATCH v4 1/1 New package: linux-firmware

From: Yegor Yefremov <[email protected]>

add infrastructure for closed binary blobs

---
Changes:
v4:
sort menu options (Gustavo Zacarias)
use LINUX_FIRMWARE_FILES to hold all install targets (Gustavo Zacarias)
v3:
typo fix (Michael S. Zick)
v2:
change package name from firmware to linux-firmware (Gustavo Zacarias) create more granular options (Gustavo Zacarias)

 package/Config.in                        |    1 +
 package/linux-firmware/Config.in         |   46 ++++++++++++++++++++++++
 package/linux-firmware/linux-firmware.mk |   56 ++++++++++++++++++++++++++++++
 3 files changed, 103 insertions(+), 0 deletions(-)
 create mode 100644 package/linux-firmware/Config.in
 create mode 100644 package/linux-firmware/linux-firmware.mk
package/Config.in +1 -0
index f219e37..10f9f79 100644
@@ -185,6 +185,7 @@ source "package/input-tools/Config.in"
 source "package/iostat/Config.in"
 source "package/irda-utils/Config.in"
 source "package/kbd/Config.in"
+source "package/linux-firmware/Config.in"
 source "package/lm-sensors/Config.in"
 source "package/lsuio/Config.in"
 source "package/lvm2/Config.in"
package/linux-firmware/Config.in new file +46 -0

46 lines not on this page · raw message

package/linux-firmware/linux-firmware.mk new file +56 -0

56 lines not on this page · raw message

Signature · 1 line
1.7.1.1
#1 lore raw

PATCH v4 1/1 New package: linux-firmware

Am 26.01.2012 16:13, schrieb yegorslists at googlemail.com:

Quoted 127 lines

From: Yegor Yefremov <[email protected]>

add infrastructure for closed binary blobs

---
Changes:
v4:
sort menu options (Gustavo Zacarias)
use LINUX_FIRMWARE_FILES to hold all install targets (Gustavo Zacarias)
v3:
typo fix (Michael S. Zick)
v2:
change package name from firmware to linux-firmware (Gustavo Zacarias) create more granular options (Gustavo Zacarias)

 package/Config.in                        |    1 +
 package/linux-firmware/Config.in         |   46 ++++++++++++++++++++++++
 package/linux-firmware/linux-firmware.mk |   56 ++++++++++++++++++++++++++++++
 3 files changed, 103 insertions(+), 0 deletions(-)
 create mode 100644 package/linux-firmware/Config.in
 create mode 100644 package/linux-firmware/linux-firmware.mk
package/Config.in +1 -0
index f219e37..10f9f79 100644
@@ -185,6 +185,7 @@ source "package/input-tools/Config.in"
 source "package/iostat/Config.in"
 source "package/irda-utils/Config.in"
 source "package/kbd/Config.in"
+source "package/linux-firmware/Config.in"
 source "package/lm-sensors/Config.in"
 source "package/lsuio/Config.in"
 source "package/lvm2/Config.in"
package/linux-firmware/Config.in new file +46 -0
new file mode 100644
index 0000000..b4fa645
@@ -0,0 +1,46 @@
+config BR2_PACKAGE_LINUX_FIRMWARE
+	bool "linux-firmware"
+	help
+	  This package provides various binary firmware files 
+	  (closed binary blobs) for such devices like LAN, WLAN cards etc.
+
+if BR2_PACKAGE_LINUX_FIRMWARE
+
+menu "Devices"
+
+menu "Ralink"
+
+config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61
+	bool "Ralink rt2501/rt61"
+	help
+	  Ralink rt2501/rt61
+
+config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73
+	bool "Ralink rt73"
+	help
+	  Ralink rt73
+
+config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX
+	bool "Ralink rt27xx/rt28xx/rt30xx"
+	help
+	  Ralink rt27xx/rt28xx/rt30xx
+
+endmenu
+
+menu "Texas Instruments"
+
+config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X
+	bool "wl127X"
+	help
+	  Firmware files for WLAN and Bluetooth modules wl1271 and wl1273
+
+config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X
+	bool "wl128X"
+	help
+	  Firmware files for WLAN and Bluetooth modules wl128x
+
+endmenu
+
+endmenu
+
+endif
package/linux-firmware/linux-firmware.mk new file +35 -0
new file mode 100644
index 0000000..af48d13
@@ -0,0 +1,56 @@
+#############################################################
+#
+# linux-firmware
+#
+#############################################################
+LINUX_FIRMWARE_VERSION = a2995d38c234e3d767df7223d84a0f33a1a24997
+LINUX_FIRMWARE_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
+LINUX_FIRMWARE_SITE_METHOD = git
+
+# rt2501/rt61
+LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61) += \
+	rt2561.bin rt2561s.bin rt2661.bin LICENCE.ralink-firmware.txt 
+
+
+# rt73
+LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73) += \
+	rt73.bin LICENCE.ralink-firmware.txt 
+
+# rt2xx
+LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX) += \
+	rt2860.bin rt2870.bin rt3070.bin rt3071.bin rt3090.bin 	\
+	LICENCE.ralink-firmware.txt 
+
+# wl127x
+LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X) += \
+	ti-connectivity/wl1271-fw-2.bin				\
+	ti-connectivity/wl1271-fw-ap.bin			\
+	ti-connectivity/wl1271-fw.bin				\
+	ti-connectivity/wl1271-nvs.bin				\
+	ti-connectivity/wl127x-fw-3.bin				\
+	ti-connectivity/wl127x-fw-plt-3.bin			\
+	ti-connectivity/wl127x-nvs.bin				\
+	ti-connectivity/TIInit_7.2.31.bts 			\
+	LICENCE.ti-connectivity
+

package/linux-firmware/linux-firmware.mk line 45

Quoted 10 lines
package/linux-firmware/linux-firmware.mk new file +10 -0
+# wl128x
+LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X) += \
+	ti-connectivity/wl128x-fw-3.bin				\
+	ti-connectivity/wl128x-fw-ap.bin			\
+	ti-connectivity/wl128x-fw-plt-3.bin			\
+	ti-connectivity/wl128x-fw.bin				\
+	ti-connectivity/wl1271-nvs.bin				\
+	ti-connectivity/wl128x-nvs.bin				\
+	ti-connectivity/wl12xx-nvs.bin				\
+	ti-connectivity/TIInit_7.2.31.bts 			\

So here we have another issue: how can I define if files should be copied to /lib/firmware or /lib/firmware/foo? ti-connectivity firmware files should go direct to /lib/firmware. This is not the case now.

Yegor

#2 lore raw

PATCH v4 1/1 New package: linux-firmware

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Yegor" == Yegor Yefremov <[email protected]> writes:

Yegor> Am 26.01.2012 16:13, schrieb yegorslists at googlemail.com:

Yegor> So here we have another issue: how can I define if files should Yegor> be copied to /lib/firmware or /lib/firmware/foo? ti-connectivity Yegor> firmware files should go direct to /lib/firmware. This is not Yegor> the case now.

Ahh, I thought there would be a 1-to-1 relation between the linux-firmware.git location an /lib/firmware. How do other distributions handle it?

Signature · 1 line
Bye, Peter Korsgaard
#3 lore raw

PATCH v4 1/1 New package: linux-firmware

Quoted 11 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Yegor" == Yegor Yefremov <[email protected]> writes:

Yegor> Am 26.01.2012 16:13, schrieb yegorslists at googlemail.com:

Yegor> So here we have another issue: how can I define if files
should
Yegor> be copied to /lib/firmware or /lib/firmware/foo?
ti-connectivity
Yegor> firmware files should go direct to /lib/firmware. This is not Yegor> the case now.

Quoted 4 lines

Ahh, I thought there would be a 1-to-1 relation between the linux-firmware.git location an /lib/firmware. How do other distributions
handle it?

At least for ti-connectivity it seems to be kept in /lib/firmware/ti-connectivity.
Most of the time linux-firmware unpacks directly to /lib/firmware and that's it.
Checking the kernel source...

grep for "request_firmware" in the relevant drivers (for instance linux/drivers/net/wireless/wl12xx) and we get "ret = request_firmware(&fw, WL128X_FW_NAME"... grepping for FW_NAME gets us...

wl12xx.h:#define WL1271_FW_NAME "ti-connectivity/wl1271-fw-2.bin" wl12xx.h:#define WL128X_FW_NAME "ti-connectivity/wl128x-fw.bin" wl12xx.h:#define WL127X_AP_FW_NAME "ti-connectivity/wl1271-fw-ap.bin" wl12xx.h:#define WL128X_AP_FW_NAME "ti-connectivity/wl128x-fw-ap.bin"

So they are used in the directory no less...
Regards.

#4 lore raw

PATCH v4 1/1 New package: linux-firmware

Am 26.01.2012 16:33, schrieb Gustavo Zacarias:

Quoted 19 lines · Peter Korsgaard
Quoted 5 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

"Yegor" == Yegor Yefremov <[email protected]> writes:

Yegor> Am 26.01.2012 16:13, schrieb yegorslists at googlemail.com:

Quoted 8 lines

Yegor> So here we have another issue: how can I define if files should Yegor> be copied to /lib/firmware or /lib/firmware/foo? ti-connectivity Yegor> firmware files should go direct to /lib/firmware. This is not Yegor> the case now.

Ahh, I thought there would be a 1-to-1 relation between the linux-firmware.git location an /lib/firmware. How do other distributions handle it?

At least for ti-connectivity it seems to be kept in /lib/firmware/ti-connectivity. Most of the time linux-firmware unpacks directly to /lib/firmware and that's it. Checking the kernel source...

Quoted 8 lines

grep for "request_firmware" in the relevant drivers (for instance linux/drivers/net/wireless/wl12xx) and we get "ret = request_firmware(&fw, WL128X_FW_NAME"... grepping for FW_NAME gets us...

wl12xx.h:#define WL1271_FW_NAME "ti-connectivity/wl1271-fw-2.bin" wl12xx.h:#define WL128X_FW_NAME "ti-connectivity/wl128x-fw.bin" wl12xx.h:#define WL127X_AP_FW_NAME "ti-connectivity/wl1271-fw-ap.bin" wl12xx.h:#define WL128X_AP_FW_NAME "ti-connectivity/wl128x-fw-ap.bin"

So they are used in the directory no less...

You're right. This is a disadvantage of using the old kernel (2.6.37). Here WLAN driver searches for blobs directly without prepending a ti-connectivity. O.K. lets keep directory structure as is.

I replaced install with cp and have a problem, cause cp won't create a directory (ti-connectivity for example), but copies symlinks correctly. Any idea how to fix this?

Yegor

#5 lore raw

PATCH v4 1/1 New package: linux-firmware

In reply to yegorslists at googlemail.com
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"yegorslists" == yegorslists <[email protected]> writes:

yegorslists> +define LINUX_FIRMWARE_INSTALL_TARGET_CMDS
yegorslists> + mkdir -p $(TARGET_DIR)/lib/firmware
yegorslists> + for i in $(LINUX_FIRMWARE_FILES_y); do \
yegorslists> + cp -af $(@D)/$$i $(TARGET_DIR)/lib/firmware/$$i; \
yegorslists> + done

That won't work as cp doesn't create the destination directories - install -D is also not really good as that doesn't handle symlinks, so I think the best approach is to use tar.

I'll fix that up while committing.

Signature · 1 line
Bye, Peter Korsgaard
#6 lore raw

PATCH v4 1/1 New package: linux-firmware

Le Thu, 26 Jan 2012 17:13:25 +0100,
Peter Korsgaard <[email protected]> a ?crit :

Quoted 10 lines

yegorslists> +define LINUX_FIRMWARE_INSTALL_TARGET_CMDS
yegorslists> + mkdir -p $(TARGET_DIR)/lib/firmware
yegorslists> + for i in $(LINUX_FIRMWARE_FILES_y); do \
yegorslists> + cp -af $(@D)/$$i
yegorslists> $(TARGET_DIR)/lib/firmware/$$i; \
yegorslists> + done

That won't work as cp doesn't create the destination directories - install -D is also not really good as that doesn't handle symlinks, so I think the best approach is to use tar.

What about:

	mkdir -p $(dirname $(TARGET_DIR)/lib/firmware/$$i)

cp -af $(@D)/$$i $(TARGET_DIR)/lib/firmware/$$i

?

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#7 lore raw

PATCH v4 1/1 New package: linux-firmware

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Hi,

Quoted 3 lines
Quoted 3 lines

That won't work as cp doesn't create the destination directories - install -D is also not really good as that doesn't handle symlinks, so I think the best approach is to use tar.

Thomas> What about:

Thomas> mkdir -p $(dirname $(TARGET_DIR)/lib/firmware/$$i)
Thomas> cp -af $(@D)/$$i $(TARGET_DIR)/lib/firmware/$$i

That would work as well, but
tar c -C srcdir files | tar x -C destdir

Is imho simpler.

Signature · 1 line
Bye, Peter Korsgaard
#8 lore raw

PATCH v4 1/1 New package: linux-firmware

In reply to yegorslists at googlemail.com
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"yegorslists" == yegorslists <[email protected]> writes:

yegorslists> From: Yegor Yefremov <[email protected]> yegorslists> add infrastructure for closed binary blobs

Committed with minor fixes (see below) - Thanks!

yegorslists> new file mode 100644 yegorslists> index 0000000..b4fa645 yegorslists> --- /dev/null
yegorslists> +++ b/package/linux-firmware/Config.in yegorslists> @@ -0,0 +1,46 @@
yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE
yegorslists> + bool "linux-firmware"
yegorslists> + help
yegorslists> + This package provides various binary firmware files
yegorslists> + (closed binary blobs) for such devices like LAN, WLAN cards etc.

Trailing spaces. We normally add an upstream URL here as well. I've added the link to gitweb for it.

yegorslists> +

yegorslists> +if BR2_PACKAGE_LINUX_FIRMWARE
yegorslists> +
yegorslists> +menu "Devices"
yegorslists> +
yegorslists> +menu "Ralink"

I don't like too many sub menus, so I've dropped the outer "Devices" one.

yegorslists> +
yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61
yegorslists> + bool "Ralink rt2501/rt61"
yegorslists> + help
yegorslists> + Ralink rt2501/rt61
yegorslists> +
yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73
yegorslists> + bool "Ralink rt73"
yegorslists> + help
yegorslists> + Ralink rt73
yegorslists> +
yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX
yegorslists> + bool "Ralink rt27xx/rt28xx/rt30xx"
yegorslists> + help
yegorslists> + Ralink rt27xx/rt28xx/rt30xx
yegorslists> +
yegorslists> +endmenu
yegorslists> +
yegorslists> +menu "Texas Instruments"
yegorslists> +
yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X
yegorslists> + bool "wl127X"
yegorslists> + help
yegorslists> + Firmware files for WLAN and Bluetooth modules wl1271 and wl1273
yegorslists> +
yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X
yegorslists> + bool "wl128X"
yegorslists> + help
yegorslists> + Firmware files for WLAN and Bluetooth modules wl128x
yegorslists> +
yegorslists> +endmenu
yegorslists> +
yegorslists> +endmenu
yegorslists> +
yegorslists> +endif
yegorslists> diff --git a/package/linux-firmware/linux-firmware.mk b/package/linux-firmware/linux-firmware.mk yegorslists> new file mode 100644
yegorslists> index 0000000..af48d13
yegorslists> --- /dev/null
yegorslists> +++ b/package/linux-firmware/linux-firmware.mk
yegorslists> @@ -0,0 +1,56 @@
yegorslists> +#############################################################
yegorslists> +#
yegorslists> +# linux-firmware
yegorslists> +#
yegorslists> +#############################################################
yegorslists> +LINUX_FIRMWARE_VERSION = a2995d38c234e3d767df7223d84a0f33a1a24997 yegorslists> +LINUX_FIRMWARE_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
yegorslists> +LINUX_FIRMWARE_SITE_METHOD = git
yegorslists> +
yegorslists> +# rt2501/rt61
yegorslists> +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61) += \
yegorslists> + rt2561.bin rt2561s.bin rt2661.bin LICENCE.ralink-firmware.txt
yegorslists> +
yegorslists> +
yegorslists> +# rt73
yegorslists> +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73) += \
yegorslists> + rt73.bin LICENCE.ralink-firmware.txt
yegorslists> +
yegorslists> +# rt2xx
yegorslists> +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX) += \
yegorslists> + rt2860.bin rt2870.bin rt3070.bin rt3071.bin rt3090.bin \
yegorslists> + LICENCE.ralink-firmware.txt

A number of trailing spaces here as well.

Does it make sense to install the license files? We don't otherwise install other license documentation.

yegorslists> +
yegorslists> +# wl127x
yegorslists> +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X) += \
yegorslists> + ti-connectivity/wl1271-fw-2.bin \
yegorslists> + ti-connectivity/wl1271-fw-ap.bin \
yegorslists> + ti-connectivity/wl1271-fw.bin \
yegorslists> + ti-connectivity/wl1271-nvs.bin \
yegorslists> + ti-connectivity/wl127x-fw-3.bin \
yegorslists> + ti-connectivity/wl127x-fw-plt-3.bin \
yegorslists> + ti-connectivity/wl127x-nvs.bin \
yegorslists> + ti-connectivity/TIInit_7.2.31.bts \
yegorslists> + LICENCE.ti-connectivity
yegorslists> +
yegorslists> +# wl128x
yegorslists> +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X) += \
yegorslists> + ti-connectivity/wl128x-fw-3.bin \
yegorslists> + ti-connectivity/wl128x-fw-ap.bin \
yegorslists> + ti-connectivity/wl128x-fw-plt-3.bin \
yegorslists> + ti-connectivity/wl128x-fw.bin \
yegorslists> + ti-connectivity/wl1271-nvs.bin \
yegorslists> + ti-connectivity/wl128x-nvs.bin \
yegorslists> + ti-connectivity/wl12xx-nvs.bin \
yegorslists> + ti-connectivity/TIInit_7.2.31.bts \
yegorslists> + LICENCE.ti-connectivity
yegorslists> +
yegorslists> +
yegorslists> +define LINUX_FIRMWARE_INSTALL_TARGET_CMDS
yegorslists> + mkdir -p $(TARGET_DIR)/lib/firmware
yegorslists> + for i in $(LINUX_FIRMWARE_FILES_y); do \
yegorslists> + cp -af $(@D)/$$i $(TARGET_DIR)/lib/firmware/$$i; \
yegorslists> + done
yegorslists> +endef

I've changed this to use 2x tar instead.

yegorslists> +
yegorslists> +$(eval $(call GENTARGETS))
yegorslists> --
yegorslists> 1.7.1.1

Signature · 1 line
Bye, Peter Korsgaard
#9 lore raw

PATCH v4 1/1 New package: linux-firmware

Quoted 18 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"yegorslists" == yegorslists ?<[email protected]> writes:

?yegorslists> From: Yegor Yefremov <[email protected]> ?yegorslists> add infrastructure for closed binary blobs

Committed with minor fixes (see below) - Thanks!

?yegorslists> new file mode 100644
?yegorslists> index 0000000..b4fa645
?yegorslists> --- /dev/null
?yegorslists> +++ b/package/linux-firmware/Config.in
?yegorslists> @@ -0,0 +1,46 @@
?yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE
?yegorslists> + bool "linux-firmware"
?yegorslists> + help
?yegorslists> + ? This package provides various binary firmware files ?yegorslists> + ? (closed binary blobs) for such devices like LAN, WLAN cards etc.

Quoted 2 lines

Trailing spaces. We normally add an upstream URL here as well. I've added the link to gitweb for it.

ACK Totally forgot about this :-(

Quoted 10 lines

?yegorslists> +

?yegorslists> +if BR2_PACKAGE_LINUX_FIRMWARE
?yegorslists> +
?yegorslists> +menu "Devices"
?yegorslists> +
?yegorslists> +menu "Ralink"

I don't like too many sub menus, so I've dropped the outer "Devices" one.

ACK

Quoted 64 lines

?yegorslists> +
?yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61
?yegorslists> + bool "Ralink rt2501/rt61"
?yegorslists> + help
?yegorslists> + ? Ralink rt2501/rt61
?yegorslists> +
?yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73
?yegorslists> + bool "Ralink rt73"
?yegorslists> + help
?yegorslists> + ? Ralink rt73
?yegorslists> +
?yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX
?yegorslists> + bool "Ralink rt27xx/rt28xx/rt30xx"
?yegorslists> + help
?yegorslists> + ? Ralink rt27xx/rt28xx/rt30xx
?yegorslists> +
?yegorslists> +endmenu
?yegorslists> +
?yegorslists> +menu "Texas Instruments"
?yegorslists> +
?yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X
?yegorslists> + bool "wl127X"
?yegorslists> + help
?yegorslists> + ? Firmware files for WLAN and Bluetooth modules wl1271 and wl1273 ?yegorslists> +
?yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X
?yegorslists> + bool "wl128X"
?yegorslists> + help
?yegorslists> + ? Firmware files for WLAN and Bluetooth modules wl128x
?yegorslists> +
?yegorslists> +endmenu
?yegorslists> +
?yegorslists> +endmenu
?yegorslists> +
?yegorslists> +endif
?yegorslists> diff --git a/package/linux-firmware/linux-firmware.mk b/package/linux-firmware/linux-firmware.mk ?yegorslists> new file mode 100644
?yegorslists> index 0000000..af48d13
?yegorslists> --- /dev/null
?yegorslists> +++ b/package/linux-firmware/linux-firmware.mk
?yegorslists> @@ -0,0 +1,56 @@
?yegorslists> +#############################################################
?yegorslists> +#
?yegorslists> +# linux-firmware
?yegorslists> +#
?yegorslists> +#############################################################
?yegorslists> +LINUX_FIRMWARE_VERSION = a2995d38c234e3d767df7223d84a0f33a1a24997 ?yegorslists> +LINUX_FIRMWARE_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
?yegorslists> +LINUX_FIRMWARE_SITE_METHOD = git
?yegorslists> +
?yegorslists> +# rt2501/rt61
?yegorslists> +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61) += \
?yegorslists> + rt2561.bin rt2561s.bin rt2661.bin LICENCE.ralink-firmware.txt
?yegorslists> +
?yegorslists> +
?yegorslists> +# rt73
?yegorslists> +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73) += \
?yegorslists> + rt73.bin LICENCE.ralink-firmware.txt
?yegorslists> +
?yegorslists> +# rt2xx
?yegorslists> +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX) += \
?yegorslists> + rt2860.bin rt2870.bin rt3070.bin rt3071.bin rt3090.bin ?\
?yegorslists> + LICENCE.ralink-firmware.txt

Quoted 4 lines

A number of trailing spaces here as well.

Does it make sense to install the license files? We don't otherwise install other license documentation.

I think it belong to these blobs, otherwise you're not allowed to distribute them. Ubuntu ships the stuff too, but they store them under /usr/share/..

Quoted 33 lines

?yegorslists> +
?yegorslists> +# wl127x
?yegorslists> +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X) += \
?yegorslists> + ti-connectivity/wl1271-fw-2.bin ? ? ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + ti-connectivity/wl1271-fw-ap.bin ? ? ? ? ? ? ? ? ? ? ? ?\
?yegorslists> + ti-connectivity/wl1271-fw.bin ? ? ? ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + ti-connectivity/wl1271-nvs.bin ? ? ? ? ? ? ? ? ? ? ? ? ?\
?yegorslists> + ti-connectivity/wl127x-fw-3.bin ? ? ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + ti-connectivity/wl127x-fw-plt-3.bin ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + ti-connectivity/wl127x-nvs.bin ? ? ? ? ? ? ? ? ? ? ? ? ?\
?yegorslists> + ti-connectivity/TIInit_7.2.31.bts ? ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + LICENCE.ti-connectivity
?yegorslists> +
?yegorslists> +# wl128x
?yegorslists> +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X) += \
?yegorslists> + ti-connectivity/wl128x-fw-3.bin ? ? ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + ti-connectivity/wl128x-fw-ap.bin ? ? ? ? ? ? ? ? ? ? ? ?\
?yegorslists> + ti-connectivity/wl128x-fw-plt-3.bin ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + ti-connectivity/wl128x-fw.bin ? ? ? ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + ti-connectivity/wl1271-nvs.bin ? ? ? ? ? ? ? ? ? ? ? ? ?\
?yegorslists> + ti-connectivity/wl128x-nvs.bin ? ? ? ? ? ? ? ? ? ? ? ? ?\
?yegorslists> + ti-connectivity/wl12xx-nvs.bin ? ? ? ? ? ? ? ? ? ? ? ? ?\
?yegorslists> + ti-connectivity/TIInit_7.2.31.bts ? ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + LICENCE.ti-connectivity
?yegorslists> +
?yegorslists> +
?yegorslists> +define LINUX_FIRMWARE_INSTALL_TARGET_CMDS ?yegorslists> + mkdir -p $(TARGET_DIR)/lib/firmware
?yegorslists> + for i in $(LINUX_FIRMWARE_FILES_y); do \
?yegorslists> + ? ? ? ? cp -af $(@D)/$$i $(TARGET_DIR)/lib/firmware/$$i; \
?yegorslists> + done
?yegorslists> +endef

Quoted 6 lines

I've changed this to use 2x tar instead.

?yegorslists> +
?yegorslists> +$(eval $(call GENTARGETS))
?yegorslists> --
?yegorslists> 1.7.1.1

Thanks.

Yegor

#10 lore raw

PATCH v4 1/1 New package: linux-firmware

Quoted 101 lines · Yegor Yefremov
Quoted 18 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"yegorslists" == yegorslists ?<[email protected]> writes:

?yegorslists> From: Yegor Yefremov <[email protected]> ?yegorslists> add infrastructure for closed binary blobs

Committed with minor fixes (see below) - Thanks!

?yegorslists> new file mode 100644
?yegorslists> index 0000000..b4fa645
?yegorslists> --- /dev/null
?yegorslists> +++ b/package/linux-firmware/Config.in
?yegorslists> @@ -0,0 +1,46 @@
?yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE
?yegorslists> + bool "linux-firmware"
?yegorslists> + help
?yegorslists> + ? This package provides various binary firmware files ?yegorslists> + ? (closed binary blobs) for such devices like LAN, WLAN cards etc.

Quoted 2 lines

Trailing spaces. We normally add an upstream URL here as well. I've added the link to gitweb for it.

ACK Totally forgot about this :-(

Quoted 10 lines

?yegorslists> +

?yegorslists> +if BR2_PACKAGE_LINUX_FIRMWARE
?yegorslists> +
?yegorslists> +menu "Devices"
?yegorslists> +
?yegorslists> +menu "Ralink"

I don't like too many sub menus, so I've dropped the outer "Devices" one.

ACK

Quoted 64 lines

?yegorslists> +
?yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61
?yegorslists> + bool "Ralink rt2501/rt61"
?yegorslists> + help
?yegorslists> + ? Ralink rt2501/rt61
?yegorslists> +
?yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73
?yegorslists> + bool "Ralink rt73"
?yegorslists> + help
?yegorslists> + ? Ralink rt73
?yegorslists> +
?yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX
?yegorslists> + bool "Ralink rt27xx/rt28xx/rt30xx"
?yegorslists> + help
?yegorslists> + ? Ralink rt27xx/rt28xx/rt30xx
?yegorslists> +
?yegorslists> +endmenu
?yegorslists> +
?yegorslists> +menu "Texas Instruments"
?yegorslists> +
?yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X
?yegorslists> + bool "wl127X"
?yegorslists> + help
?yegorslists> + ? Firmware files for WLAN and Bluetooth modules wl1271 and wl1273 ?yegorslists> +
?yegorslists> +config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X
?yegorslists> + bool "wl128X"
?yegorslists> + help
?yegorslists> + ? Firmware files for WLAN and Bluetooth modules wl128x
?yegorslists> +
?yegorslists> +endmenu
?yegorslists> +
?yegorslists> +endmenu
?yegorslists> +
?yegorslists> +endif
?yegorslists> diff --git a/package/linux-firmware/linux-firmware.mk b/package/linux-firmware/linux-firmware.mk ?yegorslists> new file mode 100644
?yegorslists> index 0000000..af48d13
?yegorslists> --- /dev/null
?yegorslists> +++ b/package/linux-firmware/linux-firmware.mk
?yegorslists> @@ -0,0 +1,56 @@
?yegorslists> +#############################################################
?yegorslists> +#
?yegorslists> +# linux-firmware
?yegorslists> +#
?yegorslists> +#############################################################
?yegorslists> +LINUX_FIRMWARE_VERSION = a2995d38c234e3d767df7223d84a0f33a1a24997 ?yegorslists> +LINUX_FIRMWARE_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
?yegorslists> +LINUX_FIRMWARE_SITE_METHOD = git
?yegorslists> +
?yegorslists> +# rt2501/rt61
?yegorslists> +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61) += \
?yegorslists> + rt2561.bin rt2561s.bin rt2661.bin LICENCE.ralink-firmware.txt
?yegorslists> +
?yegorslists> +
?yegorslists> +# rt73
?yegorslists> +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73) += \
?yegorslists> + rt73.bin LICENCE.ralink-firmware.txt
?yegorslists> +
?yegorslists> +# rt2xx
?yegorslists> +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX) += \
?yegorslists> + rt2860.bin rt2870.bin rt3070.bin rt3071.bin rt3090.bin ?\
?yegorslists> + LICENCE.ralink-firmware.txt

Quoted 9 lines
Quoted 4 lines

A number of trailing spaces here as well.

Does it make sense to install the license files? We don't otherwise install other license documentation.

I think it belong to these blobs, otherwise you're not allowed to distribute them. Ubuntu ships the stuff too, but they store them under /usr/share/..

I have read a few of them - that is what it is, some wording like:
"... this license must accompany the binary ..."
in the few that I have read.

Mike

Quoted 47 lines
Quoted 33 lines

?yegorslists> +
?yegorslists> +# wl127x
?yegorslists> +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X) += \
?yegorslists> + ti-connectivity/wl1271-fw-2.bin ? ? ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + ti-connectivity/wl1271-fw-ap.bin ? ? ? ? ? ? ? ? ? ? ? ?\
?yegorslists> + ti-connectivity/wl1271-fw.bin ? ? ? ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + ti-connectivity/wl1271-nvs.bin ? ? ? ? ? ? ? ? ? ? ? ? ?\
?yegorslists> + ti-connectivity/wl127x-fw-3.bin ? ? ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + ti-connectivity/wl127x-fw-plt-3.bin ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + ti-connectivity/wl127x-nvs.bin ? ? ? ? ? ? ? ? ? ? ? ? ?\
?yegorslists> + ti-connectivity/TIInit_7.2.31.bts ? ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + LICENCE.ti-connectivity
?yegorslists> +
?yegorslists> +# wl128x
?yegorslists> +LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X) += \
?yegorslists> + ti-connectivity/wl128x-fw-3.bin ? ? ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + ti-connectivity/wl128x-fw-ap.bin ? ? ? ? ? ? ? ? ? ? ? ?\
?yegorslists> + ti-connectivity/wl128x-fw-plt-3.bin ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + ti-connectivity/wl128x-fw.bin ? ? ? ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + ti-connectivity/wl1271-nvs.bin ? ? ? ? ? ? ? ? ? ? ? ? ?\
?yegorslists> + ti-connectivity/wl128x-nvs.bin ? ? ? ? ? ? ? ? ? ? ? ? ?\
?yegorslists> + ti-connectivity/wl12xx-nvs.bin ? ? ? ? ? ? ? ? ? ? ? ? ?\
?yegorslists> + ti-connectivity/TIInit_7.2.31.bts ? ? ? ? ? ? ? ? ? ? ? \
?yegorslists> + LICENCE.ti-connectivity
?yegorslists> +
?yegorslists> +
?yegorslists> +define LINUX_FIRMWARE_INSTALL_TARGET_CMDS ?yegorslists> + mkdir -p $(TARGET_DIR)/lib/firmware
?yegorslists> + for i in $(LINUX_FIRMWARE_FILES_y); do \
?yegorslists> + ? ? ? ? cp -af $(@D)/$$i $(TARGET_DIR)/lib/firmware/$$i; \
?yegorslists> + done
?yegorslists> +endef

Quoted 6 lines

I've changed this to use 2x tar instead.

?yegorslists> +
?yegorslists> +$(eval $(call GENTARGETS))
?yegorslists> --
?yegorslists> 1.7.1.1

Thanks.

Yegor
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot