11Summary: Linux Firmware
22Name: linux-firmware
33Version: 20260309
4- Release: 2 %{?dist }
4+ Release: 3 %{?dist }
55License: GPL+ AND GPLv2+ AND MIT AND Redistributable, no modification permitted
66Vendor: Intel Corporation
77Distribution: Edge Microvisor Toolkit
@@ -79,18 +79,37 @@ Firmware for Intel QAT controller.
7979%build
8080
8181%install
82+ # Use upstream copy-firmware.sh to install all firmware files and symlinks from WHENCE
8283mkdir -p %{buildroot }%{_firmwarepath }
83- cp -r bnx2x %{buildroot }%{_firmwarepath }
84- cp -r qed %{buildroot }%{_firmwarepath }
85- cp -r brcm %{buildroot }%{_firmwarepath }
86- cp -r rsi %{buildroot }%{_firmwarepath }
87- cp rsi_91x.fw %{buildroot }%{_firmwarepath }
88- cp -r ath10k %{buildroot }%{_firmwarepath }
89- cp -r i915 %{buildroot }%{_firmwarepath }
90- cp -r xe %{buildroot }%{_firmwarepath }
91- cp -r intel %{buildroot }%{_firmwarepath }
92- # While upgrading, check the ice version and update accordingly
93- ln -sf ice-1.3.43.0.pkg %{buildroot }%{_firmwarepath }/intel/ice/ddp/ice.pkg
84+ ./copy-firmware.sh %{buildroot }%{_firmwarepath }
85+
86+ # Remove firmware we don't package to keep the RPM size down
87+ # Keep only: bnx2x brcm qed rsi ath10k i915 xe intel
88+ find %{buildroot }%{_firmwarepath } -maxdepth 1 \
89+ ! -name firmware \
90+ ! -name bnx2x ! -name brcm ! -name qed ! -name rsi ! -name rsi_91x.fw \
91+ ! -name ath10k ! -name i915 ! -name xe ! -name intel \
92+ -exec rm -rf {} +
93+
94+ # Re-create root-level compat symlinks for firmware the kernel loads by legacy name.
95+ # copy-firmware.sh creates these from WHENCE, but the cleanup above removes them.
96+ # Only create symlinks for firmware prefixes listed in our %files sections.
97+ for pattern in iwlwifi-8000C iwlwifi-so-a0-gf-a0 iwlwifi-ma-b0-gf-a0 \
98+ iwlwifi-sc-a0-wh-b0 iwlwifi-ty-a0-gf-a0 iwlwifi-9000 \
99+ iwlwifi-9260 iwlwifi-bz-b0-gf-a0 iwlwifi-gl-c0-fm-c0; do
100+ for f in %{buildroot }%{_firmwarepath }/intel/iwlwifi/${pattern}*; do
101+ [ -f "$f" ] || continue
102+ base= $(basename "$f")
103+ ln -s "intel/iwlwifi/$base" "%{buildroot }%{_firmwarepath }/$base"
104+ done
105+ done
106+
107+ # QAT root-level compat symlinks (kernel modules request e.g. "qat_4xxx.bin")
108+ for f in %{buildroot }%{_firmwarepath }/intel/qat/qat_*.bin; do
109+ [ -f "$f" ] || continue
110+ base= $(basename "$f")
111+ ln -s "intel/qat/$base" "%{buildroot }%{_firmwarepath }/$base"
112+ done
94113
95114%post qat
96115dracut --force
@@ -102,6 +121,7 @@ dracut --force
102121%{_firmwarepath }/rsi
103122%{_firmwarepath }/rsi_91x.fw
104123%{_firmwarepath }/intel/iwlwifi/iwlwifi-8000C-* .ucode
124+ %{_firmwarepath }/iwlwifi-8000C-*
105125
106126%files broadcom
107127%defattr(-,root,root)
@@ -172,6 +192,20 @@ dracut --force
172192%{_firmwarepath }/intel/iwlwifi/iwlwifi-9260-* .ucode
173193%{_firmwarepath }/intel/iwlwifi/iwlwifi-bz-b0-gf-a0-100.ucode
174194%{_firmwarepath }/intel/iwlwifi/iwlwifi-gl-c0-fm-c0-100.ucode
195+ # Root-level compat symlinks for kernel firmware loader
196+ %{_firmwarepath }/iwlwifi-so-a0-gf-a0-*
197+ %{_firmwarepath }/iwlwifi-so-a0-gf-a0.pnvm
198+ %{_firmwarepath }/iwlwifi-ma-b0-gf-a0-*
199+ %{_firmwarepath }/iwlwifi-ma-b0-gf-a0.pnvm
200+ %{_firmwarepath }/iwlwifi-sc-a0-wh-b0-*
201+ %{_firmwarepath }/iwlwifi-ty-a0-gf-a0-*
202+ %{_firmwarepath }/iwlwifi-ty-a0-gf-a0.pnvm
203+ %{_firmwarepath }/iwlwifi-9000-*
204+ %{_firmwarepath }/iwlwifi-9260-*
205+ %{_firmwarepath }/iwlwifi-bz-b0-gf-a0-*
206+ %{_firmwarepath }/iwlwifi-bz-b0-gf-a0.pnvm
207+ %{_firmwarepath }/iwlwifi-gl-c0-fm-c0-*
208+ %{_firmwarepath }/iwlwifi-gl-c0-fm-c0.pnvm
175209
176210%files ice
177211%defattr(-,root,root)
@@ -193,8 +227,15 @@ dracut --force
193227%{_firmwarepath }/intel/qat/qat_c3xxx_mmp.bin
194228%{_firmwarepath }/intel/qat/qat_c62x.bin
195229%{_firmwarepath }/intel/qat/qat_c62x_mmp.bin
230+ # Root-level compat symlinks for kernel firmware loader
231+ %{_firmwarepath }/qat_* .bin
196232
197233%changelog
234+ * Wed Apr 15 2026 Andy <andy.peng@intel.com> - 20260309-3
235+ - Use upstream copy-firmware.sh to install firmware with proper symlinks.
236+ - Fixes missing ibt-19-* Bluetooth firmware symlinks.
237+ - Add root-level iwlwifi-* and qat_* compat symlinks so kernel can find firmware.
238+
198239* Fri Apr 3 2026 Andy <andy.peng@intel.com> - 20260309-2
199240- Include more i915 xe file from firmware.
200241
0 commit comments