summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Vogel <jvogel@stygian.me>2026-07-28 05:06:21 -0400
committerJohn Vogel <jvogel@stygian.me>2026-07-28 05:06:21 -0400
commit280e3d5e48deda1ff3e908f954cd64ecaf487e27 (patch)
tree95cbaacef0959f310122ffd98207008ebdfe5e42
parent2b0afe1960bc606395238eb191f28f67fe049e27 (diff)
downloaddragon-master.tar.gz
dragon/dragon-mkinitfs: new aportHEADmaster
-rw-r--r--dragon-mkinitfs/APKBUILD55
-rw-r--r--dragon-mkinitfs/dragon-mkinitfs.post-install22
2 files changed, 77 insertions, 0 deletions
diff --git a/dragon-mkinitfs/APKBUILD b/dragon-mkinitfs/APKBUILD
new file mode 100644
index 0000000..d8f8016
--- /dev/null
+++ b/dragon-mkinitfs/APKBUILD
@@ -0,0 +1,55 @@
+# Maintainer: John Vogel <jvogel@stygian.me>
+maintainer="John Vogel <jvogel@stygian.me>"
+pkgname=dragon-mkinitfs
+pkgver=0.0.1
+pkgrel=0
+pkgdesc="Radxa Dragon Q6A features modules for mkinitfs"
+url="https://github.com/radxa/kernel"
+arch="noarch !armv7 !armhf !loongarch64 !ppc64le !riscv64 !s390x !x86 !x86_64"
+license="MIT"
+depends="aic8800-dragon
+ aic8800-dragon-firmware
+ linux-dragon
+ linux-firmware-qcom
+ mkinitfs
+ "
+install="$pkgname.post-install"
+options="!check"
+builddir="$srcdir/"
+
+package() {
+ install -dm755 "$pkgdir"/etc/mkinitfs/features.d
+
+ cat > "$pkgdir"/etc/mkinitfs/features.d/dragon.files <<-EOF
+/lib/firmware/qcom/a660_sqe.fw.zst
+/lib/firmware/qcom/a660_gmu.bin.zst
+/lib/firmware/qcom/qcs6490/a660_zap.mbn.zst
+/lib/firmware/qcom/qcs6490/QCS6490-Radxa-Dragon-Q6A-tplg.bin.zst
+/lib/firmware/qcom/qcs6490/radxa/dragon-q6a/adsp.mbn.zst
+/lib/firmware/qcom/qcs6490/radxa/dragon-q6a/cdsp.mbn.zst
+EOF
+
+ cat > "$pkgdir"/etc/mkinitfs/features.d/aic8800.modules <<-EOF
+updates/aic_btusb.ko*
+updates/aic8800_fdrv/aic8800_fdrv.ko*
+updates/aic_load_fw/aic_load_fw.ko*
+EOF
+
+ cat > "$pkgdir"/etc/mkinitfs/features.d/aic8800.files <<-EOF
+/lib/firmware/aic8800_fw/USB/aic8800D80/fw_adid_8800d80_u02.bin
+/lib/firmware/aic8800_fw/USB/aic8800D80/fmacfw_8800d80_h_u02.bin
+/lib/firmware/aic8800_fw/USB/aic8800D80/aic_powerlimit_8800d80.txt
+/lib/firmware/aic8800_fw/USB/aic8800D80/lmacfw_rf_8800d80_u02.bin
+/lib/firmware/aic8800_fw/USB/aic8800D80/fw_patch_8800d80_u02_ext0.bin
+/lib/firmware/aic8800_fw/USB/aic8800D80/fw_patch_8800d80_u04.bin
+/lib/firmware/aic8800_fw/USB/aic8800D80/fw_patch_table_8800d80_u04.bin
+/lib/firmware/aic8800_fw/USB/aic8800D80/fmacfw_8800d80_u02.bin
+/lib/firmware/aic8800_fw/USB/aic8800D80/fw_ble_scan_ad_filter.bin
+/lib/firmware/aic8800_fw/USB/aic8800D80/fw_patch_8800d80_u02.bin
+/lib/firmware/aic8800_fw/USB/aic8800D80/fw_patch_table_8800d80_u02.bin
+/lib/firmware/aic8800_fw/USB/aic8800D80/aic_userconfig_8800d80.txt
+/lib/firmware/aic8800_fw/USB/aic8800D80/calibmode_8800d80.bin
+/lib/firmware/aic8800_fw/USB/aic8800D80/fmacfw_8800d80_u02_ipc.bin
+/lib/firmware/aic8800_fw/USB/aic8800D80/fmacfw_8800d80_h_u02_ipc.bin
+EOF
+}
diff --git a/dragon-mkinitfs/dragon-mkinitfs.post-install b/dragon-mkinitfs/dragon-mkinitfs.post-install
new file mode 100644
index 0000000..9df6e6f
--- /dev/null
+++ b/dragon-mkinitfs/dragon-mkinitfs.post-install
@@ -0,0 +1,22 @@
+#!/bin/busybox sh
+
+# Add the default dtb for grub-mkconfig
+if [ -f etc/default/grub ] && ! grep -qE -e '^GRUB_DEFAULT_DTB=.*' etc/default/grub; then
+ printf 'GRUB_DEFAULT_DTB="qcom/qcs6490-radxa-dragon-q6a.dtb"\n' >> /etc/default/grub
+else
+ dtb="$(sed -n -e 's/^GRUB_DEFAULT_DTB=\(.*\)/\1/p' /etc/default/grub)"
+ case "$dtb" in
+ # Only change it if the value is empty
+ ''|'""')
+ sed -i -e 's/^\(GRUB_DEFAULT_DTB=\).*/\1"qcom/qcs6490-radxa-dragon-q6a.dtb"/' /etc/default/grub ;;
+ esac
+fi
+
+if ! grep -qE -e '^custom_files="' /etc/mkinitfs/mkinitfs.conf; then
+ printf 'custom_files="\n' >> /etc/mkinitfs/mkinitfs.conf
+ cat /etc/mkinitfs/features.d/aic8800.files >> /etc/mkinitfs/mkinitfs.conf
+ cat /etc/mkinitfs/features.d/dragon.files >> /etc/mkinitfs/mkinitfs.conf
+ printf '"\n' >> /etc/mkinitfs/mkinitfs.conf
+fi
+
+exit 0