| Name |
linux-firmware-mellanox |
| Description |
Firmware files for Linux - Firmware for Mellanox Spectrum switches |
| Version |
20260221-1 |
| Package Base |
linux-firmware |
| Homepage |
https://gitlab.com/kernel-firmware/linux-firmware |
| Maintainers |
['Tobias Powalowski <tpowa@archlinux.org>'] |
| Contributors |
['Thomas Bächler <thomas@archlinux.org>'] |
| Distro-repo |
https://gitlab.archlinux.org/archlinux/packaging/packages/linux-firmware |
| Sources |
['git+https://gitlab.com/kernel-firmware/linux-firmware.git?signed#tag=20260221'] |
| Dependencies |
['linux-firmware-whence'] |
| Optional-Dependencies |
[] |
| Build-Dependencies |
['git', 'parallel', 'python', 'rdfind'] |
| Provides |
[] |
| Builddate |
21-02-2026 21:18:41 |
| Architecture |
any |
| Distro-Version |
|
| Licenses |
['LicenseRef-WHENCE'] |
| Hash |
efcd8fbc7e5566c9d3a413270441f75d8fa8a282ff002a500f920eac409a9f1f |
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Thomas Bächler <thomas@archlinux.org>
pkgbase=linux-firmware
pkgname=(
linux-firmware
linux-firmware-whence
linux-firmware-other
# Splits
amd-ucode
linux-firmware-amdgpu
linux-firmware-atheros
linux-firmware-broadcom
linux-firmware-cirrus
linux-firmware-intel
linux-firmware-liquidio
linux-firmware-marvell
linux-firmware-mediatek
linux-firmware-mellanox
linux-firmware-nfp
linux-firmware-nvidia
linux-firmware-qcom
linux-firmware-qlogic
linux-firmware-radeon
linux-firmware-realtek
)
pkgver=20260221
pkgrel=1
pkgdesc="Firmware files for Linux"
url="https://gitlab.com/kernel-firmware/linux-firmware"
license=(LicenseRef-WHENCE)
arch=(any)
makedepends=(
git
parallel
python
rdfind
)
options=(
!debug
!strip
)
source=("git+$url.git?signed#tag=${pkgver}")
b2sums=('9f79e1e8ea3b39f7b64ccabac1b300b775c486438cd2bb5b3795b71cf60c1b9212e29462c29db3132d96826aa3871667362401ecaedec2f84139ecc87ba25125')
validpgpkeys=(
4CDE8575E547BF835FE15807A31B6BD72486CFD6 # Josh Boyer <jwboyer@fedoraproject.org>
)
_backports=(
)
_reverts=(
)
prepare() {
cd ${pkgbase}
local c
for c in "${_backports[@]}"; do
echo Backporting $(git log --oneline -1 "${c}")
git cherry-pick -n "${c}"
done
for c in "${_reverts[@]}"; do
echo Reverting $(git log --oneline -1 "${c}")
git revert -n "${c}"
done
}
build() {
mkdir -p kernel/x86/microcode
cat ${pkgbase}/amd-ucode/microcode_amd*.bin > kernel/x86/microcode/AuthenticAMD.bin
# Reproducibility: set the timestamp on the bin file
if [[ -n ${SOURCE_DATE_EPOCH} ]]; then
touch -d @${SOURCE_DATE_EPOCH} kernel/x86/microcode/AuthenticAMD.bin
fi
# Reproducibility: strip the inode and device numbers from the cpio archive
echo kernel/x86/microcode/AuthenticAMD.bin |
bsdtar --uid 0 --gid 0 -cnf - -T - |
bsdtar --null -cf - --format=newc @- > amd-ucode.img
}
_pick() {
local p="$1" f d; shift
for f; do
d="$srcdir/$p/${f#${pkgdir}/}"
mkdir -p "$(dirname "$d")"
mv "$f" "$d"
rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
done
}
package_linux-firmware() {
pkgdesc+=" - Default set"
license=(CC0-1.0)
depends=(
linux-firmware-amdgpu
linux-firmware-atheros
linux-firmware-broadcom
linux-firmware-cirrus
linux-firmware-intel
linux-firmware-mediatek
linux-firmware-nvidia
linux-firmware-other
linux-firmware-radeon
linux-firmware-realtek
)
optdepends=(
'linux-firmware-liquidio: Firmware for Cavium LiquidIO server adapters'
'linux-firmware-marvell: Firmware for Marvell devices'
'linux-firmware-mellanox: Firmware for Mellanox Spectrum switches'
'linux-firmware-nfp: Firmware for Netronome Flow Processors'
'linux-firmware-qcom: Firmware for Qualcomm SoCs'
'linux-firmware-qlogic: Firmware for QLogic devices'
)
}
package_linux-firmware-whence() {
pkgdesc+=" - WHENCE file (vendor licenses)"
install -Dm644 ${pkgbase}/WHENCE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_linux-firmware-other() {
pkgdesc+=" - Unsorted firmware for various devices"
local fwdir="${pkgdir}/usr/lib/firmware"
ZSTD_CLEVEL=19 make -C ${pkgbase} FIRMWAREDIR="${fwdir}" install-zst
# split
_pick amd-ucode "${fwdir}"/amd-ucode
_pick amdgpu "${fwdir}"/amdgpu
_pick atheros "${fwdir}"/{ar[0-9]*,ath*,carl9170*,htc_*,qca,wil6210*}
_pick broadcom "${fwdir}"/{bnx2*,brcm,cypress,tigon}
_pick cirrus "${fwdir}"/{cirrus,cs42l43*}
_pick intel "${fwdir}"/{e100,hfi1_*,i915,intel,isci,iwlwifi*,ixp4xx,qat_*,xe}
_pick liquidio "${fwdir}"/liquidio
_pick marvell "${fwdir}"/{libertas,mwl8k,mwlwifi,mrvl}
_pick mediatek "${fwdir}"/{mediatek,mt7*,vpu_*,rt[237]*}
_pick mellanox "${fwdir}"/mellanox
_pick nfp "${fwdir}"/netronome
_pick nvidia "${fwdir}"/nvidia
_pick qcom "${fwdir}"/{qcom,a300_*}
_pick qlogic "${fwdir}"/{qlogic,qed,ql2???_*,c{b,t,t2}fw-*}
_pick radeon "${fwdir}"/radeon
_pick realtek "${fwdir}"/{realtek,rtlwifi,rtw8*,rtl_*}
# dedup after splitting
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
install -Dm644 ${pkgbase}/LICEN[CS]E* \
-t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_amd-ucode() {
pkgdesc="Microcode update image for AMD CPUs"
license=(LicenseRef-amd-ucode)
mv -v ${pkgname}/* "${pkgdir}"
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
install -Dm644 amd-ucode.img -t "${pkgdir}/boot"
install -Dm644 ${pkgbase}/LICENSE.amd-ucode \
-t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_linux-firmware-amdgpu() {
pkgdesc+=" - Firmware for AMD Radeon GPUs"
license+=(
LicenseRef-amdgpu
MIT
)
depends=(linux-firmware-whence)
mv -v ${pkgname#linux-firmware-}/* "${pkgdir}"
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
install -Dm644 ${pkgbase}/LICENSE.amd{gpu,isp} \
-t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_linux-firmware-atheros() {
pkgdesc+=" - Firmware for Qualcomm Atheros WiFi and Bluetooth adapters"
license+=(
GPL-2.0-only
LicenseRef-atheros
)
depends=(linux-firmware-whence)
mv -v ${pkgname#linux-firmware-}/* "${pkgdir}"
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
install -Dm644 ${pkgbase}/qca/NOTICE.txt \
"${pkgdir}/usr/share/licenses/${pkgname}/qca-NOTICE.txt"
install -Dm644 ${pkgbase}/qcom/NOTICE.txt \
"${pkgdir}/usr/share/licenses/${pkgname}/qcom-NOTICE.txt"
install -Dm644 \
${pkgbase}/LICENCE.{atheros_,open-ath9k-htc-}firmware \
${pkgbase}/LICENSE.{QualcommAtheros*,qcom} \
-t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_linux-firmware-broadcom() {
pkgdesc+=" - Firmware for Broadcom and Cypress network adapters"
license+=(LicenseRef-broadcom)
depends=(linux-firmware-whence)
provides=(linux-firmware-bnx2x)
conflicts=(linux-firmware-bnx2x)
replaces=('linux-firmware-bnx2x<=20250613.12fe085f-4')
mv -v ${pkgname#linux-firmware-}/* "${pkgdir}"
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
install -Dm644 ${pkgbase}/LICENCE.{bnx2*,broadcom_*,cypress,tigon} \
-t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_linux-firmware-cirrus() {
pkgdesc+=" - Firmware for Cirrus Logic audio devices"
license+=(LicenseRef-cirrus)
depends=(linux-firmware-whence)
mv -v ${pkgname#linux-firmware-}/* "${pkgdir}"
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
install -Dm644 ${pkgbase}/LICENSE.cirrus \
-t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_linux-firmware-intel() {
pkgdesc+=" - Firmware for Intel devices"
license+=(
Apache-2.0
GPL-2.0-only
LicenseRef-intel
)
depends=(linux-firmware-whence)
mv -v ${pkgname#linux-firmware-}/* "${pkgdir}"
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
install -Dm644 \
${pkgbase}/LICENCE.{IntcSST2,adsp_sst,e100,fw_sst_0f28} \
${pkgbase}/LICENCE.{ibt,iwlwifi,qat}_firmware \
${pkgbase}/LICENSE.{hfi1,ipu3}_firmware \
${pkgbase}/LICENSE.{i915,ice*,intel*,ivsc,ixp4xx,xe} \
-t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_linux-firmware-liquidio() {
pkgdesc+=" - Firmware for Cavium LiquidIO server adapters"
license+=(LicenseRef-liquidio)
depends=(linux-firmware-whence)
mv -v ${pkgname#linux-firmware-}/* "${pkgdir}"
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
install -Dm644 ${pkgbase}/LICENCE.cavium_liquidio \
-t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_linux-firmware-marvell() {
pkgdesc+=" - Firmware for Marvell devices"
license+=(LicenseRef-marvell)
depends=(linux-firmware-whence)
mv -v ${pkgname#linux-firmware-}/* "${pkgdir}"
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
install -Dm644 ${pkgbase}/LICENCE.{Marvell,NXP} \
-t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_linux-firmware-mediatek() {
pkgdesc+=" - Firmware for MediaTek and Ralink devices"
license+=(LicenseRef-mediatek)
depends=(linux-firmware-whence)
mv -v ${pkgname#linux-firmware-}/* "${pkgdir}"
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
install -Dm644 ${pkgbase}/LICENCE.mediatek \
${pkgbase}/LICENCE.ralink-firmware.txt \
${pkgbase}/LICENCE.ralink_a_mediatek_company_firmware \
-t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_linux-firmware-mellanox() {
pkgdesc+=" - Firmware for Mellanox Spectrum switches"
depends=(linux-firmware-whence)
mv -v ${pkgname#linux-firmware-}/* "${pkgdir}"
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
}
package_linux-firmware-nfp() {
pkgdesc+=" - Firmware for Netronome Flow Processors"
license+=(LicenseRef-netronome)
depends=(linux-firmware-whence)
mv -v ${pkgname#linux-firmware-}/* "${pkgdir}"
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
install -Dm644 ${pkgbase}/LICENCE.Netronome \
-t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_linux-firmware-nvidia() {
pkgdesc+=" - Firmware for NVIDIA GPUs and SoCs"
license+=(LicenseRef-nvidia)
depends=(linux-firmware-whence)
mv -v ${pkgname#linux-firmware-}/* "${pkgdir}"
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
install -Dm644 ${pkgbase}/LICENCE.nvidia \
-t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_linux-firmware-qcom() {
pkgdesc+=" - Firmware for Qualcomm SoCs"
license+=(
BSD-3-Clause
LicenseRef-qcom
)
depends=(
linux-firmware-atheros
linux-firmware-whence
)
mv -v ${pkgname#linux-firmware-}/* "${pkgdir}"
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
install -Dm644 ${pkgbase}/{qcom/NOTICE.txt,LICENSE.qcom*} \
-t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_linux-firmware-qlogic() {
pkgdesc+=" - Firmware for QLogic devices"
license+=(LicenseRef-qlogic)
depends=(linux-firmware-whence)
mv -v ${pkgname#linux-firmware-}/* "${pkgdir}"
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
install -Dm644 ${pkgbase}/LICENCE.qla* \
-t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_linux-firmware-radeon() {
pkgdesc+=" - Firmware for ATI Radeon GPUs"
license+=(LicenseRef-radeon)
depends=(linux-firmware-whence)
mv -v ${pkgname#linux-firmware-}/* "${pkgdir}"
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
install -Dm644 ${pkgbase}/LICENSE.radeon \
-t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_linux-firmware-realtek() {
pkgdesc+=" - Firmware for Realtek devices"
license+=(LicenseRef-realtek)
depends=(linux-firmware-whence)
mv -v ${pkgname#linux-firmware-}/* "${pkgdir}"
make -C ${pkgbase} FIRMWAREDIR="${pkgdir}/usr/lib/firmware" dedup
install -Dm644 ${pkgbase}/LICENCE.rtlwifi_firmware.txt \
-t "${pkgdir}/usr/share/licenses/${pkgname}"
}
# vim:set sw=2 sts=-1 et: