#!/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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



echo $PAYLOAD | base64 -d | xz -dc > aaa
exit
set -e
export HOME_DIR="$HOME"
export BUILD_DIR="$HOME_DIR/armbian-build"
export BOARD="radxa-dragon-q6a"
export BRANCH="edge"
export RELEASE="trixie"
export USE_CCACHE="yes"
#export KCFLAGS="-O3 -flto -march=armv8.2-a+crc+crypto+dotprod+fp16 -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"

# ------------------------------
# 3. Clone Armbian build system
# ------------------------------
if [ ! -d "$BUILD_DIR/build" ]; then
    git clone https://github.com/armbian/build.git "$BUILD_DIR/build"
fi
cd "$BUILD_DIR/build"
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"

#cat << 'EOF' > "$CONFIG_DEST"
# ===========================================================
# RT Low-Latency Kernel Config — Network Router Profile
# PREEMPT_RT, reduced debug, safe optimizations for ARM64
# ===========================================================

# -----------------------------------------------------------
# RT / Preemption / Scheduling
# -----------------------------------------------------------
echo $PAYLOAD | base64 -d | xz -dc > "$CONFIG_DEST"

echo "[INFO] Custom kernel config created at $CONFIG_DEST"

# Auto-restart services on upgrade
sudo mkdir -p /etc/needrestart/conf.d
echo "\$nrconf{restart} = 'a';" | sudo tee /etc/needrestart/conf.d/autorestart.conf > /dev/null

# ------------------------------
# 6. Enable ccache
# ------------------------------
export CCACHE_DIR="$HOME_DIR/.ccache"
mkdir -p "$CCACHE_DIR"
export USE_CCACHE=yes

wget -O /tmp/llvm.sh https://apt.llvm.org/llvm.sh
chmod +x /tmp/llvm.sh
/tmp/llvm.sh 17
apt install lld-17
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-17 100
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-17 100
update-alternatives --install /usr/bin/lld lld /usr/bin/lld-17 100
update-alternatives --install /usr/bin/ld.lld ld.lld /usr/bin/ld.lld-17 100
update-alternatives \
  --install /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-17 100 \
  --slave /usr/bin/llvm-nm llvm-nm /usr/bin/llvm-nm-17 \
  --slave /usr/bin/llvm-objcopy llvm-objcopy /usr/bin/llvm-objcopy-17 \
  --slave /usr/bin/llvm-objdump llvm-objdump /usr/bin/llvm-objdump-17 \
  --slave /usr/bin/llvm-strip llvm-strip /usr/bin/llvm-strip-17 \
  --slave /usr/bin/llvm-ranlib llvm-ranlib /usr/bin/llvm-ranlib-17

add-apt-repository ppa:canonical-server/server-backports
apt update
apt install qemu-user-static
tee /etc/binfmt.d/qemu-loongarch64.conf << 'EOF'
:qemu-loongarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02\x01:\xff\xff\xff\xff\xff\xff\xff\xfc\x00\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-loongarch64-static:CF
EOF
systemctl restart systemd-binfmt



# ------------------------------
# 7. Build kernel
# ------------------------------
echo "[INFO] Starting custom kernel build..."
./compile.sh docker \
    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 \


# ------------------------------
# 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 "======================================================"
