diff options
| author | Hunter Kvalevog <hunter@kvog.sh> | 2026-02-15 09:59:38 -0600 |
|---|---|---|
| committer | Hunter Kvalevog <hunter@kvog.sh> | 2026-02-15 09:59:38 -0600 |
| commit | 0d2dfeca9318e954cbbd1f719b65f8a5c5eacd38 (patch) | |
| tree | 620bbaaa6a9aea7562abd5859e17b9bd0321d62d /rushmore-linux/rl-build-kernel.sh | |
| parent | be4240d597716b2f4d3e3d0fbadfc8f219787ed1 (diff) | |
rl: New build system, arm64 support
Diffstat (limited to 'rushmore-linux/rl-build-kernel.sh')
| -rwxr-xr-x | rushmore-linux/rl-build-kernel.sh | 51 |
1 files changed, 51 insertions, 0 deletions
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" |