[Buildroot] [PATCH v4] New package: linux-firmware
Yegor Yefremov
yegorslists at googlemail.com
Thu Jan 26 20:05:23 UTC 2012
On Thu, Jan 26, 2012 at 7:58 PM, Peter Korsgaard <jacmet at sunsite.dk> wrote:
>>>>>> "yegorslists" == yegorslists <yegorslists at googlemail.com> writes:
>
> yegorslists> From: Yegor Yefremov <yegorslists at googlemail.com>
> 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.
ACK Totally forgot about this :-(
> 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
> 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.
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/..
> 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
Thanks.
Yegor
More information about the buildroot
mailing list