编译环境:
- OS版本:Ubuntu 21.04
- 内核版本:kernel 5.11.0-40-generic
安装依赖
sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison dwarves
下载内核并解压
kernel 官网地址https://www.kernel.org/,这里选择最新稳定版 5.15.5
cd Downloads/
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.5.tar.xz
tar xavf linux-5.15.5.tar.xz
配置
使用系统环境的配置作为预编译内核的配置。
cd linux-5.15.5/
cp /boot/config-$(uname -r) .config
make menuconfig
然后弹出图形化配置界面,使用刚刚生成的 .config ,按如下步骤操作:
- Load -> OK 加载配置
- Save -> OK -> Exit 保存配置
- Exit 退出完成配置
禁用部分选项
在命令行输入如下命令
scripts/config --disable SYSTEM_TRUSTED_KEYS
scripts/config --disable SYSTEM_REVOCATION_KEYS
编译
开始执行时,会遇到两个问题,这里使用默认选项,直接回车即可。
这一项执行大约需要几个小时的时间。
make
安装
安装模块
sudo make modules_install
安装内核
sudo make install
创建一个新的 initramfs,并将其指定版本号为 5.15.5,即新编译的内核的版本号。initramfs 是一种用来启动内核的根文件系统 (The basic initramfs is the root filesystem image used for booting the kernel provided as a compressed cpio archive.)。
sudo update-initramfs -c -k 5.15.5
更新引导程序 grub
sudo update-grub
重启
shutdown -r now
重启完成以后,检查内核版本
uname -r
此时输出如果为你刚刚安装到内核版本。则说明安装成功。这里输出为 5.15.5
参考: