summaryrefslogtreecommitdiff
path: root/linux-firmware-blob/PKGBUILD
diff options
context:
space:
mode:
authorsrv <enmanuel.saravia.externo@pandero.com.pe>2025-05-05 15:29:27 -0500
committersrv <enmanuel.saravia.externo@pandero.com.pe>2025-05-05 15:29:27 -0500
commit81555e3bd23c74ce915d246ca51fa65d84c22ae7 (patch)
tree1ba136af6b87426d37d010866b5cdac110eaeaa8 /linux-firmware-blob/PKGBUILD
First commitdevelop
Diffstat (limited to 'linux-firmware-blob/PKGBUILD')
-rwxr-xr-xlinux-firmware-blob/PKGBUILD162
1 files changed, 162 insertions, 0 deletions
diff --git a/linux-firmware-blob/PKGBUILD b/linux-firmware-blob/PKGBUILD
new file mode 100755
index 0000000..bfafa38
--- /dev/null
+++ b/linux-firmware-blob/PKGBUILD
@@ -0,0 +1,162 @@
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: Thomas Bächler <thomas@archlinux.org>
+
+pkgbase=linux-firmware
+pkgname=(linux-firmware-whence linux-firmware
+ linux-firmware-{nfp,mellanox,marvell,qcom,liquidio,qlogic,bnx2x}
+)
+_tag=20241017
+#_commit=c979a06518069901e4c43e0019d3a15b435b7e16
+pkgver=202209
+pkgrel=1
+pkgdesc="Firmware files for Linux"
+url="https://gitlab.com/kernel-firmware/linux-firmware"
+license=(
+ GPL-2.0-only
+ GPL-2.0-or-later
+ GPL-3.0-only
+ custom
+)
+arch=('any')
+makedepends=(
+ rdfind
+ python
+)
+options=(
+ !strip
+ !debug
+)
+source=("linux-firmware.tar.gz")
+
+validpgpkeys=('4CDE8575E547BF835FE15807A31B6BD72486CFD6') # Josh Boyer <jwboyer@fedoraproject.org>
+
+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-whence() {
+ pkgdesc+=" - contains the WHENCE license file which documents the vendor license details"
+
+ install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 ${pkgbase}/WHENCE
+}
+
+package_linux-firmware() {
+ depends=('linux-firmware-whence')
+
+ cd "${pkgbase}"
+
+ make ${MAKEFLAGS} DESTDIR="${pkgdir}" install
+
+ install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 LICEN*
+
+ cd "${pkgdir}"
+
+ # remove arm64 firmware https://bugs.archlinux.org/task/76583
+ rm lib/firmware/mrvl/prestera/mvsw_prestera_fw-v2.0.img
+ rm lib/firmware/mrvl/prestera/mvsw_prestera_fw-v3.0.img
+ rm lib/firmware/mrvl/prestera/mvsw_prestera_fw-v4.0.img
+
+ # split
+ _pick amd-ucode lib/firmware/amd-ucode
+
+ _pick linux-firmware-nfp lib/firmware/netronome
+ _pick linux-firmware-nfp usr/share/licenses/${pkgname}/LICENCE.Netronome
+
+ _pick linux-firmware-mellanox lib/firmware/mellanox
+
+ _pick linux-firmware-marvell lib/firmware/{libertas,mwl8k,mwlwifi,mrvl}
+ _pick linux-firmware-marvell usr/share/licenses/${pkgname}/LICENCE.{Marvell,NXP}
+
+ _pick linux-firmware-qcom lib/firmware/{qcom,a300_*}
+ _pick linux-firmware-qcom usr/share/licenses/${pkgname}/LICENSE.qcom*
+
+ _pick linux-firmware-liquidio lib/firmware/liquidio
+ _pick linux-firmware-liquidio usr/share/licenses/${pkgname}/LICENCE.cavium_liquidio
+
+ _pick linux-firmware-qlogic lib/firmware/{qlogic,qed,ql2???_*,c{b,t,t2}fw-*}
+ _pick linux-firmware-qlogic usr/share/licenses/${pkgname}/LICENCE.{qla1280,qla2xxx}
+
+ _pick linux-firmware-bnx2x lib/firmware/bnx2x*
+}
+
+# package_amd-ucode() {
+# pkgdesc="Microcode update image for AMD CPUs"
+# license=(custom)
+
+# mv -v $pkgname/* "$pkgdir"
+
+# install -Dt "${pkgdir}/boot" -m644 amd-ucode.img
+
+# install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 ${pkgbase}/LICENSE.amd-ucode
+# }
+
+package_linux-firmware-nfp() {
+ pkgdesc+=" - nfp / Firmware for Netronome Flow Processors"
+ depends=('linux-firmware-whence')
+
+ mv -v linux-firmware-nfp/* "${pkgdir}"
+}
+
+package_linux-firmware-mellanox() {
+ pkgdesc+=" - mellanox / Firmware for Mellanox Spectrum switches"
+ depends=('linux-firmware-whence')
+
+ mv -v linux-firmware-mellanox/* "${pkgdir}"
+}
+
+package_linux-firmware-marvell() {
+ pkgdesc+=" - marvell / Firmware for Marvell devices"
+ depends=('linux-firmware-whence')
+
+ mv -v linux-firmware-marvell/* "${pkgdir}"
+}
+
+package_linux-firmware-qcom() {
+ pkgdesc+=" - qcom / Firmware for Qualcomm SoCs"
+ depends=('linux-firmware-whence')
+
+ mv -v linux-firmware-qcom/* "${pkgdir}"
+}
+
+package_linux-firmware-liquidio() {
+ pkgdesc+=" - liquidio / Firmware for Cavium LiquidIO server adapters"
+ depends=('linux-firmware-whence')
+
+ mv -v linux-firmware-liquidio/* "${pkgdir}"
+}
+
+package_linux-firmware-qlogic() {
+ pkgdesc+=" - qlogic / Firmware for QLogic devices"
+ depends=('linux-firmware-whence')
+
+ mv -v linux-firmware-qlogic/* "${pkgdir}"
+}
+
+package_linux-firmware-bnx2x() {
+ pkgdesc+=" - bnx2x / Firmware for Broadcom NetXtreme II 10Gb ethernet adapters"
+ depends=('linux-firmware-whence')
+
+ mv -v linux-firmware-bnx2x/* "${pkgdir}"
+}
+sha512sums=('8cf9b078a803f1b9a3b9f3b31c88161b480649c798ee12b29e448cac9f24518c740c5aeb3eceb29400ba731ee472205e74d3bdf560dc9a5591dfc53682872abe')