Files
2026-09-21 22:29:23 +08:00

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"
}