64 lines
2.2 KiB
Plaintext
64 lines
2.2 KiB
Plaintext
# Based on rpi5-kernel at the pinned Void commit; upstream stays unchanged.
|
|
pkgname=fds-kernel
|
|
version=6.12.87
|
|
revision=1
|
|
_githash=ae4d75fb36deba0fe1a986d9bfae65755e082dd0
|
|
archs="aarch64"
|
|
wrksrc="linux-${_githash}"
|
|
hostmakedepends="perl kmod openssl-devel bc bison flex xz python3 cpio"
|
|
short_desc="FDS Raspberry Pi 5 kernel with built-in boot drivers"
|
|
maintainer="FDS/OS maintainers"
|
|
license="GPL-2.0-only"
|
|
homepage="https://github.com/raspberrypi/linux"
|
|
distfiles="https://github.com/raspberrypi/linux/archive/${_githash}.tar.gz"
|
|
checksum=432afe0cbb9370fc9329f67d44bdc892b8e2417a60dd33de8f0cd22e9c697c62
|
|
python_version=3
|
|
nodebug=yes
|
|
nostrip=yes
|
|
noverifyrdeps=yes
|
|
noshlibprovides=yes
|
|
|
|
export KBUILD_BUILD_TIMESTAMP="Thu Jan 1 00:00:00 UTC 1970"
|
|
export KBUILD_BUILD_USER=fds
|
|
export KBUILD_BUILD_HOST=fds-builder
|
|
_cross="CROSS_COMPILE=aarch64-linux-gnu-"
|
|
|
|
do_configure() {
|
|
make ARCH=arm64 ${_cross} bcm2712_defconfig
|
|
scripts/kconfig/merge_config.sh -m .config "${FILESDIR}/fds.config"
|
|
make ARCH=arm64 ${_cross} olddefconfig
|
|
# Kconfig can silently drop impossible requests. Verify every delta entry.
|
|
while IFS= read -r setting; do
|
|
case "$setting" in
|
|
CONFIG_*=*) grep -Fqx "$setting" .config || return 1 ;;
|
|
'# CONFIG_'*' is not set')
|
|
local symbol="${setting#\# }"
|
|
symbol="${symbol% is not set}"
|
|
! grep -Eq "^${symbol}=[ym]$" .config || return 1 ;;
|
|
esac
|
|
done <"${FILESDIR}/fds.config"
|
|
}
|
|
|
|
do_build() {
|
|
export LDFLAGS=
|
|
make ARCH=arm64 ${_cross} ${makejobs} Image modules dtbs
|
|
}
|
|
|
|
do_install() {
|
|
local release
|
|
release=$(make -s ARCH=arm64 ${_cross} kernelrelease)
|
|
vinstall arch/arm64/boot/Image 644 boot kernel_2712.img
|
|
vinstall .config 644 boot config-fds
|
|
vinstall System.map 644 boot System.map-fds
|
|
vmkdir boot/overlays
|
|
vcopy "arch/arm64/boot/dts/broadcom/bcm2712-*.dtb" boot
|
|
vcopy "arch/arm64/boot/dts/overlays/*.dtbo" boot/overlays
|
|
vinstall arch/arm64/boot/dts/overlays/README 644 boot/overlays
|
|
make ARCH=arm64 ${_cross} ${makejobs} INSTALL_MOD_PATH="${DESTDIR}/usr" \
|
|
INSTALL_MOD_STRIP=1 DEPMOD=true modules_install
|
|
rm -f "${DESTDIR}/usr/lib/modules/${release}/build" "${DESTDIR}/usr/lib/modules/${release}/source"
|
|
depmod -b "${DESTDIR}/usr" "$release"
|
|
vmkdir usr/share/fds
|
|
printf '%s\n' "$release" >"${DESTDIR}/usr/share/fds/kernel-release"
|
|
}
|