blob: ea8909f08ad8995d657e67cde26c583df5b2f9cf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
# 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.10.10.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=('034ae3b6ac3a3ccdcb7f18f6876b956e3cb311dc00b9eeaf284c660bb9c86a2e'
'bcf31414a6e29e3fc2bb527b5014a5bc78af380c16095dc687f00968fdcf8201')
b2sums=('f433d79ba15d33200fc141a6041e778be1bb613e7b7df370f1bd2a65fb77a0cf34ed3831588b0ef9092ccb958c2933343637a06c260cc7dafb972c03323facfe'
'375e89d633ded08d64fa5dfbc4d468f1515a4ba58004ed874fb57b78cd35d5d1626a213d0bdc83bc8b7950659fb6a35f4139137ab7799d2b8306e3b67af1578f')
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:
|