Linux-Kernel für Debian Testing auf T450 i5 5200U optimieren

#!/bin/bash
# =================================================================
# ThinkPad T450 Ultimate Kernel, System & Graphics - FINAL VERSION
# System: Debian Testing | CPU: Broadwell i5-5200U
# =================================================================

# Variablen definieren
KERNEL_VER="6.19.11"
BUILD_THREADS=$(nproc)
export DEBEMAIL="t450@user.debian"
export DEBFULLNAME="ThinkPad User"

echo "--- 1. INSTALLATION ALLER BAU-ABHÄNGIGKEITEN ---"
sudo apt update
sudo apt install -y build-essential libncurses-dev bison flex libssl-dev libelf-dev \
xz-utils wget rsync python3 debhelper libdw-dev libva-dev devscripts vainfo \
intel-media-va-driver libva-drm2 libva-x11-2

cd /usr/src

# Download falls nicht vorhanden
if [ ! -f "linux-$KERNEL_VER.tar.xz" ]; then
    echo "Lade Kernel $KERNEL_VER herunter..."
    sudo wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-$KERNEL_VER.tar.xz
fi

# Entpacken falls nicht vorhanden
if [ ! -d "linux-$KERNEL_VER" ]; then
    echo "Entpacke Kernel..."
    sudo tar -xf linux-$KERNEL_VER.tar.xz
fi

cd linux-$KERNEL_VER

echo "--- 2. KERNEL-KONFIGURATION (OPTIMIERUNG) ---"
# Bestehende Config als Basis nehmen
if [ -f /boot/config-$(uname -r) ]; then
    sudo cp /boot/config-$(uname -r) .config
else
    sudo make defconfig
fi

# Experten-Optionen für T450 setzen
echo "Setze CPU- und Scheduler-Optimierungen..."
sudo ./scripts/config --set-val CONFIG_NR_CPUS 4
sudo ./scripts/config --enable CONFIG_MCORE2
sudo ./scripts/config --enable CONFIG_PREEMPT
sudo ./scripts/config --disable CONFIG_PREEMPT_DYNAMIC
sudo ./scripts/config --set-val CONFIG_HZ_1000 y

# Performance-Fokus
sudo ./scripts/config --disable CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL
sudo ./scripts/config --enable CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE
sudo ./scripts/config --enable CONFIG_MQ_IOSCHED_KYBER
sudo ./scripts/config --set-val CONFIG_DEFAULT_IOSCHED "kyber"

# Debugging & Zertifikate (Fix für Build-Abbruch)
sudo ./scripts/config --disable CONFIG_DEBUG_INFO
sudo ./scripts/config --disable CONFIG_DEBUG_KERNEL
sudo ./scripts/config --disable CONFIG_DEBUG_MISC
sudo ./scripts/config --set-str SYSTEM_TRUSTED_KEYS ""
sudo ./scripts/config --set-str SYSTEM_REVOCATION_KEYS ""

echo "Wende 'localmodconfig' an (Hardware-Check)..."
# Hinweis: Alle USB-Geräte/Hardware sollte eingesteckt sein!
sudo make localmodconfig

echo "--- 3. KOMPILIEREN ---"
echo "Starte Build mit $BUILD_THREADS Threads. Das wird ca. 45-90 Min dauern..."
sudo -E make -j$BUILD_THREADS bindeb-pkg

# Prüfen ob der Build erfolgreich war
if [ $? -ne 0 ]; then
    echo "FEHLER: Der Kernel-Build wurde abgebrochen!"
    exit 1
fi

echo "--- 4. INSTALLATION KERNEL ---"
cd ..
# Installation via apt löst lokale Abhängigkeiten sauber auf
sudo apt install -y ./linux-image-${KERNEL_VER}*.deb ./linux-headers-${KERNEL_VER}*.deb

echo "--- 5. SYSTEM-BOOT-TUNING ---"
echo "Stelle Initramfs auf 'MODULES=dep' um..."
sudo sed -i 's/MODULES=most/MODULES=dep/' /etc/initramfs-tools/initramfs.conf
sudo update-initramfs -u

# Dienste deaktivieren
sudo systemctl disable NetworkManager-wait-online.service
sudo systemctl disable docker postgresql mariadb apache2 caddy php8.4-fpm cups ModemManager 2>/dev/null

echo "--- 6. GRUB UPDATE ---"
sudo update-grub

# --- ABSCHLUSS-HINWEISE ---
echo ""
echo "--------------------------------------------------------"
echo "OPTIMIERUNG ABGESCHLOSSEN!"
echo "--------------------------------------------------------"
echo "Was du jetzt noch manuell tun solltest:"
echo ""
echo "1. CHROMIUM TURBO (in chrome://flags):"
echo "   - 'Zero-copy rasterizer'           -> Enabled"
echo "   - 'Override software rendering list' -> Enabled"
echo "   - 'GPU rasterization'              -> Enabled"
echo "   - 'Back-forward cache'             -> Enabled"
echo ""
echo "2. BROWSER ADD-ONS:"
echo "   - 'enhanced-h264ify' -> VP9 & AV1 blockieren"
echo "   - 'uBlock Origin'    -> Werbung & Tracker blockieren"
echo ""
echo "3. SYSTEM-CHECK NACH REBOOT:"
echo "   - 'systemd-analyze'  -> Prüfe Bootzeit"
echo "   - 'uname -a'         -> Muss 'PREEMPT' anzeigen"
echo "   - 'vainfo'           -> Prüfe Grafik-Beschleunigung"
echo "--------------------------------------------------------"

Schreibe einen Kommentar