From 0d2dfeca9318e954cbbd1f719b65f8a5c5eacd38 Mon Sep 17 00:00:00 2001 From: Hunter Kvalevog Date: Sun, 15 Feb 2026 09:59:38 -0600 Subject: rl: New build system, arm64 support --- rushmore-linux/rl-build-kernel.sh | 51 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100755 rushmore-linux/rl-build-kernel.sh (limited to 'rushmore-linux/rl-build-kernel.sh') diff --git a/rushmore-linux/rl-build-kernel.sh b/rushmore-linux/rl-build-kernel.sh new file mode 100755 index 0000000..b7b38ce --- /dev/null +++ b/rushmore-linux/rl-build-kernel.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +set -euo pipefail + +DIR="$(cd "$(dirname "$0")" && pwd)" + +KERNEL_VER="6.19" +KERNEL_URL="https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-$KERNEL_VER.tar.xz" +KERNEL_TAR="linux-$KERNEL_VER.tar.xz" +KERNEL_SRC="$DIR/linux-$KERNEL_VER" +KERNEL_OUT="$DIR/out/kernel" +KERNEL_CFG="$KERNEL_SRC/scripts/config" + +mkdir -p "$KERNEL_OUT" + +# If no kernel sources are found, grab the release tarball +if [ ! -d "$KERNEL_SRC" ]; then + echo "Kernel sources not found. Downloading a release tarball in 3 seconds..." + sleep 3 + echo "Downloading $KERNEL_URL..." + curl -L -o "$DIR/$KERNEL_TAR" "$KERNEL_URL" + echo "Extracting - this can take a little bit..." + tar -xf "$KERNEL_TAR" -C "$DIR" + rm "$DIR/$KERNEL_TAR" + + echo "Generating default kernel config..." + make -C "$KERNEL_SRC" O="$KERNEL_OUT" defconfig +fi + +echo "Setting kernel config options..." + +kenable() { "$KERNEL_CFG" --file "$KERNEL_OUT/.config" --enable "$1"; } + +kenable DRM +kenable DRM_FBDEV_EMULATION +kenable DRM_VIRTIO_GPU + +kenable FB +kenable FB_VESA + +kenable FRAMEBUFFER_CONSOLE + +echo "Resolving config dependencies..." +make -C "$KERNEL_SRC" O="$KERNEL_OUT" olddefconfig + +echo "Building with $(nproc) threads in 3 seconds..." +sleep 3 +make -C "$KERNEL_SRC" O="$KERNEL_OUT" -j "$(nproc)" + +echo "Exporting kernel headers..." +make -C "$KERNEL_SRC" O="$KERNEL_OUT" -j "$(nproc)" \ + headers_install INSTALL_HDR_PATH="$DIR/out/sysroot/usr" -- cgit v1.2.3