X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=assemble-firmware.pl;h=434bf9f802a498babb56b2c62d24e7de4e887b5d;hb=HEAD;hp=dbc0ee0d96f243d0eee43765aafc0c6ec223dfe0;hpb=f542446daea203497d65e2d558f8d330d8aaa954;p=pve-firmware.git diff --git a/assemble-firmware.pl b/assemble-firmware.pl index dbc0ee0..dc90643 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,16 +43,30 @@ amdgpu/cyan_skillfish_pfp.bin amdgpu/cyan_skillfish_rlc.bin amdgpu/cyan_skillfish_sdma.bin amdgpu/cyan_skillfish_sdma1.bin +amdgpu/dcn_3_5_dmcub.bin amdgpu/gc_11_0_0_toc.bin amdgpu/gc_11_0_3_mes.bin +amdgpu/gc_11_5_0_imu.bin +amdgpu/gc_11_5_0_me.bin +amdgpu/gc_11_5_0_mec.bin +amdgpu/gc_11_5_0_mes1.bin +amdgpu/gc_11_5_0_mes_2.bin +amdgpu/gc_11_5_0_pfp.bin +amdgpu/gc_11_5_0_rlc.bin amdgpu/ip_discovery.bin amdgpu/navi10_mes.bin amdgpu/navi12_cap.bin +amdgpu/psp_14_0_0_ta.bin +amdgpu/psp_14_0_0_toc.bin +amdgpu/sdma_6_1_0.bin amdgpu/sienna_cichlid_cap.bin amdgpu/sienna_cichlid_mes.bin amdgpu/sienna_cichlid_mes1.bin +amdgpu/smu_14_0_2.bin amdgpu/vangogh_gpu_info.bin +amdgpu/vcn_4_0_5.bin amdgpu/vega10_cap.bin +amdgpu/vpe_6_1_0.bin amdgpu/yellow_carp_gpu_info.bin ar9170.fw ast_dp501_fw.bin @@ -96,6 +115,7 @@ 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 @@ -130,6 +150,7 @@ 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 @@ -147,6 +168,10 @@ 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 @@ -172,6 +197,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 @@ -283,37 +312,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 @@ -329,6 +398,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 @@ -356,16 +427,20 @@ liquidio/lio_23xx.bin liquidio/lio_410nv.bin me2600_firmware.bin me4000_firmware.bin -mediatek/mt7996/mt7996_rom_patch.bin -mediatek/mt7996/mt7996_wa.bin -mediatek/mt7996/mt7996_wm.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 @@ -386,10 +461,13 @@ plfxlc/lifi-x.bin prism2_ru.fw prism_ap_fw.bin prism_sta_fw.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 @@ -404,6 +482,8 @@ 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 @@ -499,13 +579,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; } @@ -613,4 +697,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);