# Maintainer: Jaron Kent-Dobias <jaron@kent-dobias.com> # Contributor: Vasily Khoruzhick <anarsoul@gmail.com> # Contributor: Jan Alexander Steffens (heftig) <heftig@archlinux.org> pkgbase=linux-raspberrypi4 pkgver=6.12.8.rpi1 pkgrel=1 pkgdesc='Raspberry Pi Linux' url='https://git.kent-dobias.com/system/linux' arch=(aarch64) license=(GPL2) makedepends=( bc cpio gettext libelf pahole perl python tar xz dtc clang llvm lld ) options=('!strip') _srcname=linux-${pkgver%.*} _srctag=v${pkgver%.*}-${pkgver##*.} source=( $pkgbase::"git+file:///home/pants/dev/linux#tag=$_srctag" config # the main kernel config file ) validpgpkeys=( ABAF11C65A2970B130ABE3C479BE3E4300411886 # Linus Torvalds 647F28654894E3BD457199BE38DBBDC86092693E # Greg Kroah-Hartman A2FF3A36AAA56654109064AB19802F8B0D70FC30 # Jan Alexander Steffens (heftig) 0E3A444DD0760E65901BF59679E824090BD31086 # Jaron Kent-Dobias ) # https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc sha256sums=('2c3e0c6f91e137164aa28b522e73321a7acbafaaacbec8c03f151332149462f5' '60a19a6d3c5a80ac4274e20f500ad3c95ec5013053a21a4eea55b6eecadb1e0f') b2sums=('8c2fab90c350299b771d6a1671a1faf0cb4f7e9c64ba5703e8fa00c15009f0e2e3b451538d9b37a624aeb8b9227e5560839c34bae82ca4a94a693e72ae2c9cc4' '15df06dee33ff464212fe9a23776139a85e37ff83c327db7ffd0b9421236b733bc248c2acbe8a779c45f41c40694244370cf78853bab5e268f62128e6e37eddc') export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_USER=$pkgbase export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" export ARCH=arm64 export LLVM=1 prepare() { cd $pkgbase echo "Setting version..." echo "-$pkgrel" > localversion.10-pkgrel echo "${pkgbase#linux}" > localversion.20-pkgname echo "Setting config..." cp ../config .config make olddefconfig diff -u ../config .config || : make -s kernelrelease > version echo "Prepared $pkgbase version $(<version)" } build() { cd $pkgbase make all # make htmldocs } _package() { pkgdesc="The $pkgdesc kernel and modules" depends=( coreutils initramfs kmod ) optdepends=( 'wireless-regdb: to set the correct wireless channels of your country' 'linux-firmware: firmware images needed for some devices' ) provides=( KSMBD-MODULE VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE ) replaces=( virtualbox-guest-modules-arch wireguard-arch ) cd $pkgbase local modulesdir="$pkgdir/usr/lib/modules/$(<version)" echo "Installing boot image..." install -Dm644 arch/arm64/boot/Image "${pkgdir}/boot/kernel8.img" # systemd expects to find the kernel here to allow hibernation # https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344 install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz" # Used by mkinitcpio to name the kernel echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase" echo "Installing modules..." ZSTD_CLEVEL=19 make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 \ DEPMOD=/doesnt/exist modules_install # Suppress depmod echo "Installing dtbs..." make INSTALL_DTBS_PATH="${pkgdir}/boot/dtbs" dtbs_install find "${pkgdir}/boot/dtbs/broadcom" -type f -print0 | xargs -0 mv -t "${pkgdir}/boot" # remove build link rm "$modulesdir"/build } pkgname=("$pkgbase") for _p in "${pkgname[@]}"; do eval "package_$_p() { $(declare -f "_package${_p#$pkgbase}") _package${_p#$pkgbase} }" done # vim:set ts=8 sts=2 sw=2 et: