this sounds very involved initially but hands off after the fact.
Script
#!/bin/bash
cd ~/ || exit
LATEST_KERNEL=$(curl -s https://www.kernel.org | grep -Po 'linux-\d+\.\d+\.\d+\.tar\.xz' | head -1)
echo "Latest Kernel: $LATEST_KERNEL"
KERNEL_URL="https://cdn.kernel.org/pub/linux/kernel/v6.x/$LATEST_KERNEL"
echo "Kernel URL: $KERNEL_URL"
DIR_NAME=$(echo $LATEST_KERNEL | sed 's/\.tar\.xz//')
mkdir -p ./$DIR_NAME
wget -O ./$DIR_NAME/$LATEST_KERNEL "$KERNEL_URL" || exit
tar -xf ./$DIR_NAME/$LATEST_KERNEL -C ./$DIR_NAME || exit
EXTRACTED_DIR=$(tar -tf ./$DIR_NAME/$LATEST_KERNEL | head -1 | cut -f1 -d"/")
cd ./$DIR_NAME/$EXTRACTED_DIR || exit
zcat /proc/config.gz > .config
echo "Kernel config copied."
if [ -f "drivers/gpu/drm/amd/display/dc/link/link_dpms.c" ] && [ -f "drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training.c" ]; then
echo "Files found, proceeding with modifications..."
sed -i 's/#define LINK_TRAINING_RETRY_DELAY 50 \/\* ms \*\//#include <linux\/module.h>\nstatic int link_training_retry_delay = 50;\nmodule_param(link_training_retry_delay, int, 0644);\nMODULE_PARM_DESC(link_training_retry_delay, "Delay between link training retries (ms)");\n#define LINK_TRAINING_RETRY_DELAY link_training_retry_delay/' drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training.c
sed -i 's/#define LINK_TRAINING_ATTEMPTS 4/#include <linux\/module.h>\nstatic int link_training_attempts = 4;\nmodule_param(link_training_attempts, int, 0644);\nMODULE_PARM_DESC(link_training_attempts, "Number of link training attempts");\n#define LINK_TRAINING_ATTEMPTS link_training_attempts/' drivers/gpu/drm/amd/display/dc/link/link_dpms.c
else
echo "One or both files not found in the kernel source directory."
fi
echo "Kernel modifications complete."
make olddefconfig || exit
#make || exit
echo "Compiling the kernel..."
make -j16 || exit
echo "Building modules..."
sudo make modules_install || exit
echo "Installing the kernel..."
sudo make install || exit
echo "Backing up existing kernel files..."
sudo cp /boot/vmlinuz-linux /boot/vmlinuz-linux.bak
sudo cp /boot/initramfs-linux.img /boot/initramfs-linux.img.bak
echo "Moving new kernel files to /boot..."
sudo cp ./arch/x86/boot/bzImage /boot/vmlinuz-fix
sudo mkinitcpio -k $(make kernelrelease) -c /etc/mkinitcpio.conf -g /boot/initramfs-fix.img
if [ -f /boot/vmlinuz-fix ] && [ -f /boot/initramfs-fix.img ]; then
echo "Kernel and initramfs moved to /boot successfully."
else
echo "Failed to move kernel or initramfs files to /boot."
exit 1
fi
echo "Kernel compilation, installation, and file replacement completed successfully."
Its ridiculous, my British uncle is convinced Critical Race Theory is tour is in school. I asked him what critical race theory is and he didn’t know. People are being lied to and then they tie it to ego and become talking heads for shit they have no idea of beyond surface level.