#!/bin/sh
# =====================================================
# Armbian Radxa Dragon Q6A Custom Kernel Build Script
# RT + Low-latency config optimized for network router
# =====================================================
#
# Changes from original:
#   - Re-enabled PRINTK, BPF, KEYS, SECURITY, SECCOMP, COMPACTION
#     (required for a functional Armbian system)
#   - Removed x86-only configs (RETPOLINE, PTI, INTEL_IDLE)
#   - Added network router optimizations (nftables, conntrack, scheduling)
#   - Disabled all power management (actively cooled system)
#   - Added kernel boot parameters for RT + router tuning
#



PAYLOAD=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
set -e
export HOME_DIR="/home/builder"
export BUILD_DIR="$HOME_DIR/armbian-build"
export BOARD="radxa-dragon-q6a"
export BRANCH="edge"
export RELEASE="trixie"
export USE_CCACHE="yes"
export KCFLAGS="-O2 -march=armv8.2-a+crc+crypto+fp16+dotprod+rcpc+lse+rdm -mtune=cortex-a78"

export NEEDRESTART_MODE=l
export DEBIAN_FRONTEND=noninteractive
apt-get purge needrestart -y

# ------------------------------
# 1. Install prerequisites
# ------------------------------
#sudo apt update
#sudo apt install -y git build-essential bc bison flex libssl-dev \
  #libncurses-dev libelf-dev dwarves ccache wget rsync qemu-user-static debootstrap

# ------------------------------
# 2. Prepare build environment
# ------------------------------
mkdir -p "$BUILD_DIR"
cd "$BUILD_DIR"
export CCACHE_DIR="$HOME_DIR/.ccache"
mkdir -p "$CCACHE_DIR"
export USE_CCACHE=yes
useradd builder || true
chown -R builder:builder $HOME_DIR

# ------------------------------
# 3. Clone Armbian build system
# ------------------------------
id builder &>/dev/null || useradd -m -s /bin/bash builder
groups builder | grep -q docker || usermod -aG docker builder
if [ ! -d "$BUILD_DIR/build" ]; then
    sudo -u builder git clone https://github.com/armbian/build.git "$BUILD_DIR/build"
fi
cd "$BUILD_DIR/build"
sudo -u builder git pull

# ------------------------------
# 4. Create custom kernel config
# ------------------------------
USERPATCH_DIR="userpatches"
mkdir -p "$USERPATCH_DIR"
BOARD_FAMILY=qcs6490
CONFIG_DEST="$USERPATCH_DIR/linux-${BOARD_FAMILY}-${BRANCH}.config"
echo $PAYLOAD | base64 -d | xz -dc > "$CONFIG_DEST"
echo "[INFO] Custom kernel config created at $CONFIG_DEST"
chown -R builder:builder $USERPATCH_DIR

# ------------------------------
# 7. Build kernel
# ------------------------------
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
echo "[INFO] Starting custom kernel build..."
sudo -u builder ./compile.sh \
    BOARD=$BOARD \
    BRANCH=$BRANCH \
    RELEASE=$RELEASE \
    KERNEL_BTF=no \
    BUILD_MINIMAL=no \
    BUILD_DESKTOP=no \
    #SKIP_EXTERNAL_MODULES=yes \
    KERNEL_COMPILER=clang \
    KERNEL_GIT=shallow \
    NETWORKING_STACK=systemd-networkd \
    KERNEL_CLANG_LTO=full \
    ROOTFS_TYPE=btrfs \
    BTRFS_COMPRESSION=zstd \
    INSTALL_HEADERS=yes \
    KERNEL_CONFIGURE=no \
    KCFLAGS="$KCFLAGS" \
    CONTAINER_MANAGER=docker 


# ------------------------------
# 8. Copy resulting .deb packages
# ------------------------------
DEB_OUTPUT="$BUILD_DIR/debs"
mkdir -p "$DEB_OUTPUT"
cp output/debs/linux-image-*.deb "$DEB_OUTPUT/" 2>/dev/null || true
cp output/debs/linux-headers-*.deb "$DEB_OUTPUT/" 2>/dev/null || true
cp output/debs/linux-dtb-*.deb "$DEB_OUTPUT/" 2>/dev/null || true
( cd $DEB_OUTPUT && tar cvf $HOME/rt.tar * )

echo ""
echo "======================================================"
echo "[INFO] Custom Armbian RT kernel build finished!"
echo "======================================================"
echo "Debs:    $DEB_OUTPUT"
echo "CCACHE:  $CCACHE_DIR"
echo ""
echo "Install on target with:"
echo "  sudo dpkg -i $DEB_OUTPUT/linux-*.deb"
echo ""
echo "Then add boot params on target:"
echo "  Edit /boot/armbianEnv.txt and add the extraargs line from:"
echo "  $BOOT_PARAMS_REF"
echo ""
echo "Post-install tuning (run on target):"
echo "  # Increase conntrack table for router use"
echo "  sudo sysctl -w net.netfilter.nf_conntrack_max=262144"
echo "  sudo sysctl -w net.core.netdev_max_backlog=8192"
echo "  sudo sysctl -w net.core.somaxconn=4096"
echo "======================================================"
