Uploaded sanitized BC250/ROCm Repository.
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
#!/bin/bash
|
||||
# =============================================================================
|
||||
# Step 5: Install Patched amdgpu Module
|
||||
# =============================================================================
|
||||
# Installs the patched amdgpu.ko.zst module, backs up the original,
|
||||
# runs depmod, and rebuilds initramfs.
|
||||
#
|
||||
# Usage: sudo bash 05_install_module.sh [path_to_amdgpu.ko.zst]
|
||||
# If no path given, looks in the default build location.
|
||||
#
|
||||
# IMPORTANT: Reboot after running this script!
|
||||
# =============================================================================
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
KERNEL_VER="$(uname -r)"
|
||||
MODULE_DIR="/lib/modules/$KERNEL_VER/kernel/drivers/gpu/drm/amd/amdgpu"
|
||||
ORIGINAL="$MODULE_DIR/amdgpu.ko.zst"
|
||||
|
||||
# Find the module to install
|
||||
if [[ -n "${1:-}" ]]; then
|
||||
NEW_MODULE="$1"
|
||||
else
|
||||
# Try default build location
|
||||
NEW_MODULE="$HOME/kernel-build/linux-cachyos/src/linux-*/drivers/gpu/drm/amd/amdgpu/amdgpu.ko.zst"
|
||||
NEW_MODULE=$(ls $NEW_MODULE 2>/dev/null | head -1 || true)
|
||||
fi
|
||||
|
||||
if [[ -z "$NEW_MODULE" || ! -f "$NEW_MODULE" ]]; then
|
||||
echo "ERROR: No module found. Provide path as argument:"
|
||||
echo " sudo bash $0 /path/to/amdgpu.ko.zst"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "============================================"
|
||||
echo " Installing Patched amdgpu Module"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
echo " Kernel: $KERNEL_VER"
|
||||
echo " Source: $NEW_MODULE"
|
||||
echo " Target: $ORIGINAL"
|
||||
echo ""
|
||||
|
||||
# ─────────────────────────────────────────────
|
||||
# 1. Backup Original Module
|
||||
# ─────────────────────────────────────────────
|
||||
echo "[1/4] Backing up original module..."
|
||||
if [[ -f "$ORIGINAL" && ! -f "$ORIGINAL.orig" ]]; then
|
||||
sudo cp "$ORIGINAL" "$ORIGINAL.orig"
|
||||
echo " Backup: $ORIGINAL.orig"
|
||||
elif [[ -f "$ORIGINAL.orig" ]]; then
|
||||
echo " Backup already exists: $ORIGINAL.orig"
|
||||
else
|
||||
echo " WARNING: Original module not found at $ORIGINAL"
|
||||
fi
|
||||
|
||||
# ─────────────────────────────────────────────
|
||||
# 2. Install New Module
|
||||
# ─────────────────────────────────────────────
|
||||
echo "[2/4] Installing patched module..."
|
||||
sudo cp "$NEW_MODULE" "$ORIGINAL"
|
||||
echo " Installed: $(ls -lh "$ORIGINAL" | awk '{print $5, $9}')"
|
||||
|
||||
# ─────────────────────────────────────────────
|
||||
# 3. Run depmod
|
||||
# ─────────────────────────────────────────────
|
||||
echo "[3/4] Running depmod..."
|
||||
sudo depmod -a "$KERNEL_VER"
|
||||
echo " Done."
|
||||
|
||||
# ─────────────────────────────────────────────
|
||||
# 4. Rebuild Initramfs
|
||||
# ─────────────────────────────────────────────
|
||||
echo "[4/4] Rebuilding initramfs..."
|
||||
|
||||
if command -v mkinitcpio &>/dev/null; then
|
||||
# Arch/CachyOS
|
||||
sudo mkinitcpio -P
|
||||
echo " mkinitcpio completed."
|
||||
elif command -v dracut &>/dev/null; then
|
||||
sudo dracut --force
|
||||
echo " dracut completed."
|
||||
elif command -v update-initramfs &>/dev/null; then
|
||||
sudo update-initramfs -u
|
||||
echo " update-initramfs completed."
|
||||
fi
|
||||
|
||||
# Update bootloader if Limine
|
||||
if command -v limine-update &>/dev/null; then
|
||||
echo " Updating Limine bootloader..."
|
||||
sudo limine-update
|
||||
echo " Limine updated."
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " Module installed successfully!"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
echo " REBOOT NOW to load the patched module:"
|
||||
echo " sudo reboot"
|
||||
echo ""
|
||||
echo " After reboot, run 06_verify_installation.sh"
|
||||
echo ""
|
||||
echo " To restore original module if needed:"
|
||||
echo " sudo cp $ORIGINAL.orig $ORIGINAL"
|
||||
echo " sudo depmod -a $KERNEL_VER"
|
||||
echo " sudo mkinitcpio -P && sudo limine-update"
|
||||
echo " sudo reboot"
|
||||
Reference in New Issue
Block a user