summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD106
1 files changed, 106 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..c75cca8bf5f8
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,106 @@
+# Maintainer: Jan Keith Darunday <aur@jkcdarunday.mozmail.com>
+# Contributor: Jack Chen <redchenjs@live.com>
+
+_target=rockchip-rk3588
+_pkgbase="linux-$_target"
+pkgbase="$_pkgbase-bin"
+pkgname=("$pkgbase" "$pkgbase-headers")
+pkgver=5.10.72
+_armbver=22.08.6
+_kernver="$pkgver-$_target"
+pkgrel=1
+arch=('aarch64')
+_desc="AArch64 multi-platform $_target"
+url="https://github.com/armbian/build"
+license=('GPL2')
+options=('!strip')
+provides=("$_pkgbase")
+conflicts=("$_pkgbase")
+source=(
+ "linux.preset"
+ "https://apt.armbian.com/pool/main/l/linux-$_kernver/linux-dtb-legacy-${_target}_${_armbver}_arm64.deb"
+ "https://apt.armbian.com/pool/main/l/linux-$_kernver/linux-image-legacy-${_target}_${_armbver}_arm64.deb"
+ "https://apt.armbian.com/pool/main/l/linux-$_kernver/linux-headers-legacy-${_target}_${_armbver}_arm64.deb"
+ )
+sha512sums=(
+ 'a492aae17ee4a316ce03faf9f1b284b2529c485f4b092cc4a1f865a6c68d482fd356fd30efa296c116975a3bdf3922f5bf03912a8d0e76f4ab24aa6ab9f8c276'
+ '20950d3177889cd593e008a6c9b94beb50b032cc7d247a0809bf21663403a8a94199da1e0e0461624bf6bb6f872b6236f31feb8d21985fb1b106e1cc1b84e841'
+ '9b1779851070a40221d4a6e4cae77eb2c813578ff2b362a5a66b39ff0fb84827f6a69563b1386add010efec05cf6dac81a4c2e64f06e0eb818999024566d3b06'
+ 'ca23262d8875a42d6fb25afa46ea7860574801d7c876af2eb79515ffd69ea270cbfee5fae5e43d8afe79cc8f3e439b73f55b179369ff30e05c84a9873724565b'
+ )
+noextract=("${source[@]##*/}")
+
+prepare() {
+ cd "$srcdir"
+
+ rm -rf $(find -mindepth 1 -maxdepth 1 -type d)
+}
+
+_package() {
+ pkgdesc="The Linux Kernel and modules - $_desc"
+ depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7')
+ optdepends=('crda: to set the correct wireless channels of your country')
+ backup=("etc/mkinitcpio.d/$_pkgbase.preset")
+ provides=('WIREGUARD-MODULE')
+ conflicts=('linux')
+
+ cd "$srcdir"
+
+ ar x "linux-dtb-legacy-${_target}_${_armbver}_arm64.deb"
+ tar -xf data.tar.xz
+ ar x "linux-image-legacy-${_target}_${_armbver}_arm64.deb"
+ tar -xf data.tar.xz
+
+ install -dm755 "$pkgdir/boot"
+ cp -r "boot/dtb-$_kernver" "$pkgdir/boot/dtbs"
+
+ ln -s "vmlinuz-$_pkgbase" "$pkgdir/boot/Image"
+
+ install -dm755 "$pkgdir/usr"
+ cp -r lib "$pkgdir/usr/lib"
+
+ # sed expression for following substitutions
+ local _subst="
+ s|%PKGBASE%|$_pkgbase|g
+ s|%KERNVER%|$_kernver|g
+ "
+
+ # install mkinitcpio preset file
+ sed "$_subst" linux.preset |
+ install -Dm644 /dev/stdin "$pkgdir/etc/mkinitcpio.d/$_pkgbase.preset"
+
+ # install boot image
+ install -Dm644 "boot/vmlinuz-$_kernver" "$pkgdir/usr/lib/modules/$_kernver/vmlinuz"
+
+ # used by mkinitcpio to name the kernel
+ echo "$_pkgbase" | install -Dm644 /dev/stdin "$pkgdir/usr/lib/modules/$_kernver/pkgbase"
+}
+
+_package-headers() {
+ pkgdesc="Header files and scripts for building modules for linux kernel - $_desc"
+ conflicts=('linux-headers')
+
+ cd "$srcdir"
+
+ ar x "linux-image-legacy-${_target}_${_armbver}_arm64.deb"
+ tar -xf data.tar.xz
+ ar x "linux-headers-legacy-${_target}_${_armbver}_arm64.deb"
+ tar -xf data.tar.xz
+
+ install -dm755 "$pkgdir/usr/lib/modules/$_kernver"
+ cp -r "usr/src/linux-headers-$_kernver" "$pkgdir/usr/lib/modules/$_kernver/build"
+
+ install -Dm644 "boot/config-$_kernver" "$pkgdir/usr/lib/modules/$_kernver/build/.config"
+ install -Dm644 "boot/System.map-$_kernver" "$pkgdir/usr/lib/modules/$_kernver/build/System.map"
+
+ # add real version for building modules and running depmod from hook
+ echo "$_kernver" |
+ install -Dm644 /dev/stdin "$pkgdir/usr/lib/modules/$_kernver/build/version"
+}
+
+for _p in "${pkgname[@]}"; do
+ eval "package_$_p() {
+ $(declare -f "_package${_p#$pkgbase}")
+ _package${_p#$pkgbase}
+ }"
+done