1.准备工作
确认当前内核版本:uname -r
备份重要数据及配置文件(/boot目录建议完整备份)
检查硬件兼容性(特别是新内核支持的驱动版本)
2.下载内核源码
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.13.7.tar.xz
3.解压源码
tar -xvf linux-6.13.7.tar.xz
4.配置内核
cd linux-6.13.7
# 建议基于现有配置(.config)进行增量调整
make menuconfig
执行make menuconfig命令可能出现错误:
[root@i-XXXX linux-6.13.7]# make menuconfig
HOSTCC scripts/basic/fixdep
*
* Unable to find the ncurses package.
* Install ncurses (ncurses-devel or libncurses-dev
* depending on your distribution).
*
* You may also need to install pkg-config to find the
* ncurses installed in a non-default location.
*
make[2]: *** [scripts/kconfig/Makefile:234:scripts/kconfig/mconf-libs] 错误 1
make[1]: *** [/root/linux-6.13.7/Makefile:733:menuconfig] 错误 2
make: *** [Makefile:251:__sub-make] 错误 2
解决文案:
sudo yum install ncurses-devel
# 或
sudo dnf install ncurses-devel pkg-config
重新执行
make clean
make menuconfig
5.编译安装
make -j$(nproc)
sudo make modules_install
sudo make install
执行make -j$(nproc)命令可能出现:
[root@i-DB5ACCA8 linux-6.13.7]# make -j$(nproc)
DESCEND objtool
HOSTCC scripts/sign-file
HOSTCC scripts/insert-sys-cert
scripts/sign-file.c:25:10: 致命错误:openssl/opensslv.h:没有那个文件或目录
#include <openssl/opensslv.h>
^~~~~~~~~~~~~~~~~~~~
编译中断。
make[2]: *** [scripts/Makefile.host:114:scripts/sign-file] 错误 1
make[2]: *** 正在等待未完成的任务....
INSTALL libsubcmd_headers
make[1]: *** [/root/linux-6.13.7/Makefile:1251:scripts] 错误 2
make: *** [Makefile:251:__sub-make] 错误 2
解决文案:
sudo yum install openssl-devel
# 或
sudo dnf install openssl-devel
重新执行
make clean
make -j$(nproc)
sudo make modules_install
sudo make install
6.更新引导文件
Debian/Ubuntu系统中执行以下命令:
sudo update-initramfs -c -k 6.13.7
sudo update-grub
RHEL/CentOS/Fedora系统中执行以下命令:
# 指定新内核版本生成 initramfs(关键!)
sudo dracut -f /boot/initramfs-6.13.7.img 6.13.7
# 重新生成 GRUB 配置文件
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# 检查内核文件是否存在
ls -l /boot/vmlinuz-6.13.7* /boot/initramfs-6.13.7*.img
# 检查内核模块目录
ls -l /usr/lib/modules/6.13.7*
7.重启查看
# 重启
reboot
# 验证
uname -r
# 输出
6.13.7
#看到6.13.7 Yes 成功