59 lines
1.5 KiB
Bash
Executable file
59 lines
1.5 KiB
Bash
Executable file
set -ex -uo pipefail
|
|
|
|
_pick() {
|
|
local p="$1" f d; shift
|
|
for f; do
|
|
d="$out/$p/${f#$out/}"
|
|
mkdir -p "$(dirname "$d")"
|
|
mv $out/"$f" "$d"
|
|
rm -rf $out/"$f"
|
|
done
|
|
}
|
|
|
|
_package() {
|
|
local p="$1"
|
|
mkdir -p $out/$p/usr/lib/extension-release.d
|
|
cat << EOF > $out/$p/usr/lib/extension-release.d/extension-release.$p
|
|
ID=patos
|
|
IMAGE_ID=$p
|
|
IMAGE_VERSION=$version
|
|
VERSION_ID=patos
|
|
EOF
|
|
|
|
mkfs.erofs --all-root -Efragments,dedupe,ztailpacking $out/$p.raw $out/$p
|
|
veritysetup format --root-hash-file $out/$p.roothash $out/$p.raw $out/$p.verity
|
|
}
|
|
|
|
# remove arm64 firmware https://bugs.archlinux.org/task/76583
|
|
rm $out/usr/lib/firmware/mrvl/prestera/mvsw_prestera_fw_arm64-v4.1.img.zst
|
|
|
|
_pick amd-ucode usr/lib/firmware/amd-ucode
|
|
_package amd-ucode
|
|
|
|
_pick linux-firmware-nfp usr/lib/firmware/netronome
|
|
_package linux-firmware-nfp
|
|
|
|
_pick linux-firmware-mellanox usr/lib/firmware/mellanox
|
|
_package linux-firmware-mellanox
|
|
|
|
_pick linux-firmware-marvell usr/lib/firmware/{libertas,mwl8k,mwlwifi,mrvl}
|
|
_package linux-firmware-marvell
|
|
|
|
_pick linux-firmware-qcom usr/lib/firmware/qcom
|
|
_package linux-firmware-qcom
|
|
|
|
_pick linux-firmware-liquidio usr/lib/firmware/liquidio
|
|
_package linux-firmware-liquidio
|
|
|
|
# _pick linux-firmware-qlogic usr/lib/firmware/{qlogic,qed,ql2???_*,c{b,t,t2}fw-*}
|
|
# _package linux-firmware-qlogic
|
|
|
|
# _pick linux-firmware-bnx2x usr/lib/firmware/bnx2x*
|
|
# _package linux-firmware-bnx2x
|
|
|
|
# and the rest is base firmware
|
|
_pick linux-firmware usr/lib/firmware
|
|
_package linux-firmware
|
|
|
|
# clean up
|
|
# rm -rf $out/usr
|