PKGBUILD 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. # Maintainer: Jan Keith Darunday <aur@jkcdarunday.mozmail.com>
  2. # Contributor: Jack Chen <redchenjs@live.com>
  3. _target=rockchip-rk3588
  4. _pkgbase="linux-$_target"
  5. pkgbase="$_pkgbase-bin"
  6. pkgname=("$pkgbase" "$pkgbase-headers")
  7. pkgver=5.10.110
  8. _armbver=22.11.2
  9. _kernver="$pkgver-$_target"
  10. pkgrel=4
  11. arch=('aarch64')
  12. _desc="AArch64 multi-platform $_target"
  13. url="https://github.com/armbian/build"
  14. license=('GPL2')
  15. options=('!strip')
  16. provides=("$_pkgbase")
  17. conflicts=("$_pkgbase")
  18. source=(
  19. "linux.preset"
  20. "https://apt.armbian.com/pool/main/l/linux-$_kernver/linux-dtb-legacy-${_target}_${_armbver}_arm64.deb"
  21. "https://apt.armbian.com/pool/main/l/linux-$_kernver/linux-image-legacy-${_target}_${_armbver}_arm64.deb"
  22. "https://apt.armbian.com/pool/main/l/linux-$_kernver/linux-headers-legacy-${_target}_${_armbver}_arm64.deb"
  23. "https://raw.githubusercontent.com/torvalds/linux/v5.10/arch/arm64/kernel/vdso/vdso.lds.S"
  24. "https://raw.githubusercontent.com/torvalds/linux/v5.10/arch/arm64/kernel/vdso/vgettimeofday.c"
  25. "https://raw.githubusercontent.com/torvalds/linux/v5.10/lib/vdso/gettimeofday.c"
  26. "https://raw.githubusercontent.com/torvalds/linux/v5.10/arch/arm64/kernel/vdso/note.S"
  27. "https://raw.githubusercontent.com/torvalds/linux/v5.10/arch/arm64/kernel/vdso/sigreturn.S"
  28. "https://raw.githubusercontent.com/torvalds/linux/v5.10/arch/arm64/kernel/vdso/gen_vdso_offsets.sh"
  29. )
  30. noextract=("${source[@]##*/}")
  31. makedepends=('flex' 'bison')
  32. prepare() {
  33. cd "$srcdir"
  34. rm -rf $(find -mindepth 1 -maxdepth 1 -type d)
  35. }
  36. _package() {
  37. pkgdesc="The Linux Kernel and modules - $_desc"
  38. depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7')
  39. optdepends=('crda: to set the correct wireless channels of your country')
  40. backup=("etc/mkinitcpio.d/$_pkgbase.preset")
  41. provides=("linux=${pkgver}" 'WIREGUARD-MODULE')
  42. replaces=('linux-armv8')
  43. conflicts=('linux')
  44. cd "$srcdir"
  45. ar x "linux-dtb-legacy-${_target}_${_armbver}_arm64.deb"
  46. tar -xf data.tar.xz
  47. ar x "linux-image-legacy-${_target}_${_armbver}_arm64.deb"
  48. tar -xf data.tar.xz
  49. install -dm755 "$pkgdir/boot"
  50. cp -r "boot/dtb-$_kernver" "$pkgdir/boot/dtbs"
  51. install -dm755 "$pkgdir/usr"
  52. cp -r lib "$pkgdir/usr/lib"
  53. rm -f "$pkgdir/usr/lib/modules/${pkgver}-${_target}/build"
  54. # sed expression for following substitutions
  55. local _subst="
  56. s|%PKGBASE%|$_pkgbase|g
  57. s|%KERNVER%|$_kernver|g
  58. "
  59. # install mkinitcpio preset file
  60. sed "$_subst" linux.preset |
  61. install -Dm644 /dev/stdin "$pkgdir/etc/mkinitcpio.d/$_pkgbase.preset"
  62. # install boot image
  63. install -Dm644 "boot/vmlinuz-$_kernver" "$pkgdir/usr/lib/modules/$_kernver/vmlinuz"
  64. # used by mkinitcpio to name the kernel
  65. echo "$_pkgbase" | install -Dm644 /dev/stdin "$pkgdir/usr/lib/modules/$_kernver/pkgbase"
  66. }
  67. _package-headers() {
  68. pkgdesc="Header files and scripts for building modules for linux kernel - $_desc"
  69. provides=("linux-headers=${pkgver}")
  70. conflicts=('linux-headers')
  71. cd "$srcdir"
  72. ar x "linux-image-legacy-${_target}_${_armbver}_arm64.deb"
  73. tar -xf data.tar.xz
  74. ar x "linux-headers-legacy-${_target}_${_armbver}_arm64.deb"
  75. tar -xf data.tar.xz
  76. cd "$srcdir"
  77. install -dm755 "$pkgdir/usr/lib/modules/$_kernver"
  78. cp -r "usr/src/linux-headers-$_kernver" "$pkgdir/usr/lib/modules/$_kernver/build"
  79. install -Dm644 "boot/config-$_kernver" "$pkgdir/usr/lib/modules/$_kernver/build/.config"
  80. install -Dm644 "boot/System.map-$_kernver" "$pkgdir/usr/lib/modules/$_kernver/build/System.map"
  81. # add real version for building modules and running depmod from hook
  82. echo "$_kernver" |
  83. install -Dm644 /dev/stdin "$pkgdir/usr/lib/modules/$_kernver/build/version"
  84. # https://github.com/armbian/build/issues/2734#issuecomment-950277542
  85. cd "${pkgdir}/usr/lib/modules/${pkgver}-${_target}/build"
  86. # src/linux-headers-${pkgver}-${_target}"
  87. cp -L "${srcdir}/vdso.lds.S" arch/arm64/kernel/vdso
  88. cp -L "${srcdir}/vgettimeofday.c" arch/arm64/kernel/vdso
  89. cp -L "${srcdir}/gettimeofday.c" lib/vdso
  90. cp -L "${srcdir}/note.S" arch/arm64/kernel/vdso
  91. cp -L "${srcdir}/sigreturn.S" arch/arm64/kernel/vdso
  92. cp -L "${srcdir}/gen_vdso_offsets.sh" arch/arm64/kernel/vdso
  93. find -type f -exec touch {} +
  94. yes "" | make oldconfig >/dev/null
  95. chmod +x ./arch/arm64/kernel/vdso/gen_vdso_offsets.sh
  96. make KERNELVERSION=${pkgver}-${_target} -j8 modules_prepare
  97. #make scripts
  98. #make scripts/mod/
  99. #make scripts/module.lds
  100. }
  101. for _p in "${pkgname[@]}"; do
  102. eval "package_$_p() {
  103. $(declare -f "_package${_p#$pkgbase}")
  104. _package${_p#$pkgbase}
  105. }"
  106. done
  107. sha512sums=('15a035013f7cc21f8a4250d50f297d9bdef271ee06e83b4b5193432319ba45d1c892e79ec77f4e97ecdf9e7f90ef33f29454b53fa1653fe212054557afe2b91b'
  108. '27ff3c018433a5bb05e66778a05bc8711ce579fc280284eabd2882346bc5317ec8c570d9132e20563df43819a163490e3b04a72b2f7f290907ee8702aef6457a'
  109. '352b99578e0eb2f38c2f2f4ac7f2105a8bebcd91a949382a9bac5fef5c4890cd2ee8ebfa3c2d1bd7a03538b0046ac628fb88f4ca9c5b13eeaa05c259c97cf8cc'
  110. 'dd15832abc7e227bf1b40454b754374d2787868c77025f17b7062bc42a810e536118d86e1661ac19c5994aa1198b040f31d67b7a8795199605b35fe69361938b'
  111. 'a10fd9022f8241a813f322507fb1c54e63cfc3f46f245ac32a1ac221c1882c3eb1ddd78eb4f7b72db768b09d81a8437e7311ce5e30c4970e65c69a93d19ea56b'
  112. 'c91b6ae5719153fabcafd54947dfe4a90473dce5d24555475ce55dc0e508840f42d2f7d14a8a2ad77b002e100038bdac79dfff5ce08dc8d3e1e2ad4089b04bf6'
  113. '3bf808cad08ad2e564963b0b722fde5fb21e136f187cdb0d0e3c8bac6dc0ebf52d527190146e27ccba91323d3051b6dd09970a780bc7684f2fc556ecdc0ad5e7'
  114. '0042127557d0c41507c66d147f0559451ef921782fc24d2204ef2a32ab290372341238a97c5793788284110d422e8dabf6bce986f447ebecce93d3e7031d4180'
  115. '38c4b642f2b813faa8bd8c42f1bca605947ba01f45750009a59c8708bd441344bf17856a71b6bf6466309ec00f62ed8abdb66196654486ed5bfdfd903ef77107'
  116. '5db9b2c13ff2a79c70c8de19f4cc996e263f15da01fc34ba7de67e44cc1e30fcdfe8dd3b865f3394a93f2208d6310fdd2c94e8dc4e31c6cc87265dc44b6df4bb')