diff options
| author | Ryan Eatmon <reatmon@ti.com> | 2025-10-10 11:08:41 -0500 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-10-13 18:01:03 +0100 |
| commit | 366aeb0e9a23c518a25a46ab82047a50a235650c (patch) | |
| tree | 7775b48cf19e9b65087f4cb2b4fd21b22f59975f /meta | |
| parent | 75a8d894be8afe2e6fdd671ce0aef08c60f829ed (diff) | |
| download | poky-366aeb0e9a23c518a25a46ab82047a50a235650c.tar.gz | |
linux-firmware: Remove unlicensed firmware
Create a new REMOVE_UNLICENSED variable and do_install() logic to
allow for marking certain firmware files as something to remove and not
package up.
This comes from the fact that the WHENCE file has a number of firmware
entries that have no license information or very questionable
declarations as to what the license is for the firmware.
(From OE-Core rev: 406628a31b7d903e6545d8a1b6d0548f0874ed6d)
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/recipes-kernel/linux-firmware/linux-firmware_20250917.bb | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20250917.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20250917.bb index a2e505bd93..4efdc73a45 100644 --- a/meta/recipes-kernel/linux-firmware/linux-firmware_20250917.bb +++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20250917.bb | |||
| @@ -5,6 +5,57 @@ that contains firmware binary blobs necessary for partial or full functionality | |||
| 5 | of certain hardware devices." | 5 | of certain hardware devices." |
| 6 | SECTION = "kernel" | 6 | SECTION = "kernel" |
| 7 | 7 | ||
| 8 | REMOVE_UNLICENSED = "" | ||
| 9 | |||
| 10 | # For acenic - Alteon AceNIC Gigabit Ethernet card | ||
| 11 | REMOVE_UNLICENSED += "acenic/tg1.bin acenic/tg2.bin" | ||
| 12 | |||
| 13 | # For emi62 - EMI 6|2m USB Audio interface | ||
| 14 | REMOVE_UNLICENSED += "emi62/bitstream.fw emi62/loader.fw emi62/midi.fw emi62/spdif.fw" | ||
| 15 | |||
| 16 | # For snd-maestro3 - ESS Allegro Maestro3 audio device | ||
| 17 | REMOVE_UNLICENSED += "ess/maestro3_assp_kernel.fw ess/maestro3_assp_minisrc.fw" | ||
| 18 | |||
| 19 | # For s2255drv | ||
| 20 | REMOVE_UNLICENSED += "f2255usb.bin" | ||
| 21 | |||
| 22 | # For snd-korg1212 - Korg 1212 IO audio device | ||
| 23 | REMOVE_UNLICENSED += "korg/k1212.dsp" | ||
| 24 | |||
| 25 | # For lgs8gxx - Legend Silicon GB20600 demodulator driver | ||
| 26 | REMOVE_UNLICENSED += "lgs8g75.fw" | ||
| 27 | |||
| 28 | # For ti_usb_3410_5052 - Multi-Tech USB cell modems | ||
| 29 | REMOVE_UNLICENSED += "mts_cdma.fw mts_gsm.fw mts_edge.fw mts_mt9234mu.fw mts_mt9234zba.fw" | ||
| 30 | |||
| 31 | # For myri_sbus - MyriCOM Gigabit Ethernet | ||
| 32 | REMOVE_UNLICENSED += "myricom/lanai.bin" | ||
| 33 | |||
| 34 | # For qlogicpti - PTI Qlogic, ISP Driver | ||
| 35 | REMOVE_UNLICENSED += "qlogic/isp1000.bin" | ||
| 36 | |||
| 37 | # For cassini - Sun Cassini | ||
| 38 | REMOVE_UNLICENSED += "sun/cassini.bin" | ||
| 39 | |||
| 40 | # For dvb-ttusb-budget - Technotrend/Hauppauge Nova-USB devices | ||
| 41 | REMOVE_UNLICENSED += "ttusb-budget/dspbootcode.bin" | ||
| 42 | |||
| 43 | # For ueagle-atm - Driver for USB ADSL Modems based on Eagle I,II,III | ||
| 44 | REMOVE_UNLICENSED += "ueagle-atm/930-fpga.bin ueagle-atm/CMVeiWO.bin ueagle-atm/CMVepFR10.bin ueagle-atm/DSP9p.bin ueagle-atm/eagleIII.fw ueagle-atm/adi930.fw ueagle-atm/CMVep.bin ueagle-atm/CMVepFR.bin ueagle-atm/DSPei.bin ueagle-atm/CMV9i.bin ueagle-atm/CMVepES03.bin ueagle-atm/CMVepIT.bin ueagle-atm/DSPep.bin ueagle-atm/CMV9p.bin ueagle-atm/CMVepES.bin ueagle-atm/CMVepWO.bin ueagle-atm/eagleI.fw ueagle-atm/CMVei.bin ueagle-atm/CMVepFR04.bin ueagle-atm/DSP9i.bin ueagle-atm/eagleII.fw" | ||
| 45 | |||
| 46 | # For vicam - USB 3com HomeConnect (aka vicam) | ||
| 47 | REMOVE_UNLICENSED += "vicam/firmware.fw" | ||
| 48 | |||
| 49 | # For yam - YAM driver for AX.25 | ||
| 50 | REMOVE_UNLICENSED += "yam/1200.bin yam/9600.bin" | ||
| 51 | |||
| 52 | # For snd-wavefront - ISA WaveFront sound card | ||
| 53 | REMOVE_UNLICENSED += "yamaha/yss225_registers.bin" | ||
| 54 | |||
| 55 | # For snd-ymfpci - Yamaha YMF724/740/744/754 audio devices | ||
| 56 | REMOVE_UNLICENSED += "yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw yamaha/ds1e_ctrl.fw" | ||
| 57 | |||
| 58 | |||
| 8 | LICENSE = "\ | 59 | LICENSE = "\ |
| 9 | Firmware-Abilis \ | 60 | Firmware-Abilis \ |
| 10 | & Firmware-adsp_sst \ | 61 | & Firmware-adsp_sst \ |
| @@ -429,6 +480,21 @@ do_install() { | |||
| 429 | fi | 480 | fi |
| 430 | cp LICEN[CS]E.* WHENCE ${D}${nonarch_base_libdir}/firmware/ | 481 | cp LICEN[CS]E.* WHENCE ${D}${nonarch_base_libdir}/firmware/ |
| 431 | cp wfx/LICEN[CS]E.* ${D}${nonarch_base_libdir}/firmware/wfx/ | 482 | cp wfx/LICEN[CS]E.* ${D}${nonarch_base_libdir}/firmware/wfx/ |
| 483 | |||
| 484 | # Remove all unlicensed firmware | ||
| 485 | for file in ${REMOVE_UNLICENSED}; do | ||
| 486 | echo "Remove unlicensed firmware: $file" | ||
| 487 | rm ${D}${nonarch_base_libdir}/firmware/$file | ||
| 488 | path_to_file=$(dirname $file) | ||
| 489 | while [ "${path_to_file}" != "." ]; do | ||
| 490 | num_files=$(ls -A1 ${D}${nonarch_base_libdir}/firmware/$path_to_file | wc -l) | ||
| 491 | if [ "$num_files" = "0" ]; then | ||
| 492 | echo "Remove empty dir: $path_to_file" | ||
| 493 | rm -rf ${D}${nonarch_base_libdir}/firmware/$path_to_file | ||
| 494 | fi | ||
| 495 | path_to_file=$(dirname $path_to_file) | ||
| 496 | done | ||
| 497 | done | ||
| 432 | } | 498 | } |
| 433 | 499 | ||
| 434 | PACKAGES =+ "${PN}-amphion-vpu-license ${PN}-amphion-vpu \ | 500 | PACKAGES =+ "${PN}-amphion-vpu-license ${PN}-amphion-vpu \ |
