X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=assemble-firmware.pl;h=434bf9f802a498babb56b2c62d24e7de4e887b5d;hb=HEAD;hp=4c3e3c8ad48879052884060688671da33592e44d;hpb=eefe87838eb9727e5055d75c9ddbf7ddb16a6d6c;p=pve-firmware.git diff --git a/assemble-firmware.pl b/assemble-firmware.pl index 4c3e3c8..3743f13 100755 --- a/assemble-firmware.pl +++ b/assemble-firmware.pl @@ -23,12 +23,17 @@ my $ALLOW_MISSING = {}; # debian squeeze also misses those files foreach my $fw (qw( 3826.arm +3826.eeprom BT3CPCC.bin FW10 FW13 +RTL8192E/boot.img +RTL8192E/data.img +RTL8192E/main.img RTL8192U/boot.img RTL8192U/data.img RTL8192U/main.img +adf7242_firmware.bin amdgpu/aldebaran_cap.bin amdgpu/cyan_skillfish_ce.bin amdgpu/cyan_skillfish_me.bin @@ -38,50 +43,16 @@ amdgpu/cyan_skillfish_pfp.bin amdgpu/cyan_skillfish_rlc.bin amdgpu/cyan_skillfish_sdma.bin amdgpu/cyan_skillfish_sdma1.bin -amdgpu/dcn_3_1_4_dmcub.bin -amdgpu/dcn_3_2_1_dmcub.bin amdgpu/gc_11_0_0_toc.bin -amdgpu/gc_11_0_1_imu.bin -amdgpu/gc_11_0_1_me.bin -amdgpu/gc_11_0_1_mec.bin -amdgpu/gc_11_0_1_mes.bin -amdgpu/gc_11_0_1_mes1.bin -amdgpu/gc_11_0_1_pfp.bin -amdgpu/gc_11_0_1_rlc.bin -amdgpu/gc_11_0_2_imu.bin -amdgpu/gc_11_0_2_me.bin -amdgpu/gc_11_0_2_mec.bin -amdgpu/gc_11_0_2_mes.bin -amdgpu/gc_11_0_2_mes1.bin -amdgpu/gc_11_0_2_pfp.bin -amdgpu/gc_11_0_2_rlc.bin -amdgpu/gc_11_0_3_imu.bin -amdgpu/gc_11_0_3_me.bin -amdgpu/gc_11_0_3_mec.bin amdgpu/gc_11_0_3_mes.bin -amdgpu/gc_11_0_3_mes1.bin -amdgpu/gc_11_0_3_pfp.bin -amdgpu/gc_11_0_3_rlc.bin amdgpu/ip_discovery.bin amdgpu/navi10_mes.bin amdgpu/navi12_cap.bin -amdgpu/psp_13_0_10_sos.bin -amdgpu/psp_13_0_10_ta.bin -amdgpu/psp_13_0_4_ta.bin -amdgpu/psp_13_0_4_toc.bin -amdgpu/psp_13_0_7_sos.bin -amdgpu/psp_13_0_7_ta.bin -amdgpu/sdma_6_0_1.bin -amdgpu/sdma_6_0_2.bin -amdgpu/sdma_6_0_3.bin amdgpu/sienna_cichlid_cap.bin amdgpu/sienna_cichlid_mes.bin amdgpu/sienna_cichlid_mes1.bin -amdgpu/smu_13_0_10.bin -amdgpu/smu_13_0_7.bin +amdgpu/smu_14_0_2.bin amdgpu/vangogh_gpu_info.bin -amdgpu/vcn_4_0_2.bin -amdgpu/vcn_4_0_4.bin amdgpu/vega10_cap.bin amdgpu/yellow_carp_gpu_info.bin ar9170.fw @@ -124,7 +95,14 @@ b43/ucode9.fw b43legacy/ucode2.fw b43legacy/ucode4.fw bfubase.frm +brcm/brcmbt4377*.bin +brcm/brcmbt4377*.ptb +brcm/brcmbt4378*.bin +brcm/brcmbt4378*.ptb +brcm/brcmbt4387*.bin +brcm/brcmbt4387*.ptb brcm/brcmfmac*-pcie.*.clm_blob +brcm/brcmfmac*-pcie.*.txcap_blob brcm/brcmfmac*-pcie.txt brcm/brcmfmac*-sdio.*.bin brcm/brcmfmac-sdio.bin @@ -150,13 +128,22 @@ brcm/brcmfmac4350-pcie.txt brcm/brcmfmac4354-pcie.bin brcm/brcmfmac4354-pcie.txt brcm/brcmfmac4354-sdio.txt +brcm/brcmfmac4355-pcie.bin +brcm/brcmfmac4355-pcie.clm_blob +brcm/brcmfmac4355c1-pcie.bin +brcm/brcmfmac4355c1-pcie.clm_blob brcm/brcmfmac4356-pcie.txt brcm/brcmfmac43570-pcie.txt brcm/brcmfmac4358-pcie.txt brcm/brcmfmac4359-pcie.bin brcm/brcmfmac4359-sdio.bin +brcm/brcmfmac4359c-pcie.bin brcm/brcmfmac43602-pcie.txt brcm/brcmfmac4364-pcie.bin +brcm/brcmfmac4364b2-pcie.bin +brcm/brcmfmac4364b2-pcie.clm_blob +brcm/brcmfmac4364b3-pcie.bin +brcm/brcmfmac4364b3-pcie.clm_blob brcm/brcmfmac4365b-pcie.bin brcm/brcmfmac4365b-pcie.txt brcm/brcmfmac4365c-pcie.bin @@ -164,8 +151,14 @@ brcm/brcmfmac4366b-pcie.txt brcm/brcmfmac4371-pcie.txt brcm/brcmfmac43752-sdio.bin brcm/brcmfmac43752-sdio.clm_blob +brcm/brcmfmac4377b3-pcie.bin +brcm/brcmfmac4377b3-pcie.clm_blob brcm/brcmfmac4378b1-pcie.bin brcm/brcmfmac4378b1-pcie.clm_blob +brcm/brcmfmac4378b3-pcie.bin +brcm/brcmfmac4378b3-pcie.clm_blob +brcm/brcmfmac4387c2-pcie.bin +brcm/brcmfmac4387c2-pcie.clm_blob brcm/brcmfmac89459-pcie.bin c218tunx.cod c320tunx.cod @@ -191,6 +184,10 @@ dvb_driver_si2158_rom51.fw dvb_driver_si2177_rom50.fw dvb_driver_si2178_rom50.fw fw.ram.bin +habanalabs/gaudi/gaudi-boot-fit.itb +habanalabs/gaudi/gaudi-fit.itb +habanalabs/gaudi/gaudi_tpc.bin +hcwamc.rbf i1480-phy-0.0.bin i1480-pre-phy-0.0.bin i1480-usb-0.0.bin @@ -302,37 +299,77 @@ iwlwifi-SoSnj-a0-mr-a0-63.ucode iwlwifi-SoSnj-a0-mr-a0-66.ucode iwlwifi-SoSnj-a0-mr-a0-72.ucode iwlwifi-bz-a0-fm-a0-72.ucode +iwlwifi-bz-a0-fm-b0-83.ucode +iwlwifi-bz-a0-fm-b0-86.ucode +iwlwifi-bz-a0-fm-c0-83.ucode +iwlwifi-bz-a0-fm-c0-86.ucode iwlwifi-bz-a0-fm4-a0-72.ucode +iwlwifi-bz-a0-fm4-b0-83.ucode +iwlwifi-bz-a0-fm4-b0-86.ucode iwlwifi-bz-a0-gf-a0-63.ucode iwlwifi-bz-a0-gf-a0-66.ucode iwlwifi-bz-a0-gf-a0-72.ucode +iwlwifi-bz-a0-gf-a0-83.ucode +iwlwifi-bz-a0-gf-a0-86.ucode iwlwifi-bz-a0-gf4-a0-63.ucode iwlwifi-bz-a0-gf4-a0-66.ucode iwlwifi-bz-a0-gf4-a0-72.ucode +iwlwifi-bz-a0-gf4-a0-83.ucode +iwlwifi-bz-a0-gf4-a0-86.ucode iwlwifi-bz-a0-hr-b0-63.ucode iwlwifi-bz-a0-hr-b0-66.ucode iwlwifi-bz-a0-hr-b0-72.ucode +iwlwifi-bz-a0-hr-b0-83.ucode +iwlwifi-bz-a0-hr-b0-86.ucode iwlwifi-bz-a0-mr-a0-63.ucode iwlwifi-bz-a0-mr-a0-66.ucode iwlwifi-bz-a0-mr-a0-72.ucode iwlwifi-gl-a0-fm-a0-72.ucode iwlwifi-gl-b0-fm-b0-72.ucode +iwlwifi-gl-b0-fm-b0-83.ucode +iwlwifi-gl-b0-fm-b0-86.ucode iwlwifi-ma-a0-fm-a0-66.ucode iwlwifi-ma-a0-fm-a0-72.ucode iwlwifi-ma-a0-gf-a0-59.ucode iwlwifi-ma-a0-gf-a0-63.ucode iwlwifi-ma-a0-gf-a0-66.ucode iwlwifi-ma-a0-gf-a0-72.ucode +iwlwifi-ma-a0-gf-a0-83.ucode +iwlwifi-ma-a0-gf-a0-86.ucode iwlwifi-ma-a0-gf4-a0-63.ucode iwlwifi-ma-a0-gf4-a0-66.ucode iwlwifi-ma-a0-gf4-a0-72.ucode +iwlwifi-ma-a0-gf4-a0-83.ucode +iwlwifi-ma-a0-gf4-a0-86.ucode iwlwifi-ma-a0-hr-b0-63.ucode iwlwifi-ma-a0-hr-b0-66.ucode iwlwifi-ma-a0-hr-b0-72.ucode +iwlwifi-ma-a0-hr-b0-83.ucode +iwlwifi-ma-a0-hr-b0-86.ucode iwlwifi-ma-a0-mr-a0-59.ucode iwlwifi-ma-a0-mr-a0-63.ucode iwlwifi-ma-a0-mr-a0-66.ucode iwlwifi-ma-a0-mr-a0-72.ucode +iwlwifi-ma-a0-mr-a0-83.ucode +iwlwifi-ma-a0-mr-a0-86.ucode +iwlwifi-ma-b0-mr-a0-83.ucode +iwlwifi-ma-b0-mr-a0-86.ucode +iwlwifi-sc-a0-fm-b0-83.ucode +iwlwifi-sc-a0-fm-b0-86.ucode +iwlwifi-sc-a0-fm-c0-83.ucode +iwlwifi-sc-a0-fm-c0-86.ucode +iwlwifi-sc-a0-gf-a0-83.ucode +iwlwifi-sc-a0-gf-a0-86.ucode +iwlwifi-sc-a0-gf4-a0-83.ucode +iwlwifi-sc-a0-gf4-a0-86.ucode +iwlwifi-sc-a0-hr-b0-83.ucode +iwlwifi-sc-a0-hr-b0-86.ucode +iwlwifi-sc-a0-wh-a0-83.ucode +iwlwifi-sc-a0-wh-a0-86.ucode +iwlwifi-sc2-a0-fm-c0-86.ucode +iwlwifi-sc2-a0-wh-a0-86.ucode +iwlwifi-sc2f-a0-fm-c0-86.ucode +iwlwifi-sc2f-a0-wh-a0-86.ucode iwlwifi-so-a0-gf-a0-48.ucode iwlwifi-so-a0-gf-a0-50.ucode iwlwifi-so-a0-gf-a0-59.ucode @@ -348,6 +385,8 @@ iwlwifi-so-a0-jf-b0-50.ucode iwlwifi-so-a0-jf-b0-59.ucode iwlwifi-so-a0-jf-b0-63.ucode iwlwifi-so-a0-jf-b0-66.ucode +iwlwifi-so-a0-jf-b0-83.ucode +iwlwifi-so-a0-jf-b0-86.ucode iwlwifi-su-z0-43.ucode iwlwifi-ty-a0-gf-a0-48.ucode iwlwifi-ty-a0-gf-a0-50.ucode @@ -375,13 +414,20 @@ liquidio/lio_23xx.bin liquidio/lio_410nv.bin me2600_firmware.bin me4000_firmware.bin +mediatek/mt7996/mt7992_dsp.bin +mediatek/mt7996/mt7992_rom_patch.bin +mediatek/mt7996/mt7992_wa.bin +mediatek/mt7996/mt7992_wm.bin +metronome.wbf mrvl/pcie8766_uapsta.bin +mrvl/pcie8897_uapsta_a0.bin mrvl/pcie8997_uapsta.bin mrvl/sd8786_uapsta.bin mrvl/sd8977_uapsta.bin mrvl/sd8987_uapsta.bin mrvl/sd8997_uapsta.bin mrvl/sdiouart8997_combo_v4.bin +mrvl/sdiouartiw416_combo_v0.bin mrvl/usb8997_uapsta.bin mt7603_e1.bin mt7603_e2.bin @@ -402,20 +448,29 @@ plfxlc/lifi-x.bin prism2_ru.fw prism_ap_fw.bin prism_sta_fw.bin -qat_4xxx.bin -qat_4xxx_mmp.bin +qat_420xx.bin +qat_420xx_mmp.bin ql2600_fw.bin ql2700_fw.bin ql8100_fw.bin ql8300_fw.bin +ram.bin regulatory.db regulatory.db.p7s renesas_usb_fw.mem rtl_bt/rtl8723b_config.bin rtl_bt/rtl8723bs_config.bin +rtl_bt/rtl8723cs_cg_config.bin +rtl_bt/rtl8723cs_cg_fw.bin +rtl_bt/rtl8723cs_vf_config.bin +rtl_bt/rtl8723cs_vf_fw.bin +rtl_bt/rtl8723cs_xx_config.bin +rtl_bt/rtl8723cs_xx_fw.bin rtl_bt/rtl8723ds_config.bin rtl_bt/rtl8723ds_fw.bin rtl_bt/rtl8761a_config.bin +rtl_bt/rtl8852bs_config.bin +rtl_bt/rtl8852bs_fw.bin rtlwifi/rtl8723bu_bt.bin rtlwifi/rtl8723efw.bin s5k4ecgx.bin @@ -511,13 +566,17 @@ sub add_fw :prototype($$) { my $module = basename($mod); my $name = basename($fw); + my $fw_dir = dirname($fw); if ($name =~ /\*/) { - my $sr = `find '$target' \\( -type f -o -type l \\) -name '$name'`; + die "cannot handle GLOBs in path stem ('$fw_dir'), switch find below to regex and transform GLOB to regex" + if $fw_dir =~ /\*/; + + my $sr = `find '$target/$fw_dir' \\( -type f -o -type l \\) -name '$name'`; chomp $sr; if ($sr) { for my $f (split("\n", $sr)) { - print "found $f for GLOB '$name'\n"; + print "found $f for GLOB '$fw'\n"; my $f_name = basename($f); $fwbase_name->{$f_name} = 1; } @@ -625,4 +684,7 @@ for my $f (@$all_fw_files) { print "cleanup end result: keep: $keep, delete: $delete\n"; +# just some random boundary to catch some stupid '*' GLOB errors, adapt as needed. +die "delete number is awfully low ($delete < 100)\n" if $delete < 100; + exit(0);