1.下载最新的Linux内核
小版本号为偶数是稳定版本,我们选择稳定版本下载。内核官方网站 https://www.kernel.org/,点击那个黄色的按钮就开始下载了
2.环境配置
在正式编译前需要安装部分软件。
sudo apt update && sudo apt upgrade
sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison
出现安装错误的可以分开安装
3.解压缩
下载完成之后,解压缩刚刚下载好的内核压缩包。解压后大概1G,提前预留充足空间。解压之后进入目录。可以先提前看下新版内核有什么变化。
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.9.11.tar.xz
tar -zxf linux-5.9.11.tar.xz
cd linux-5.9.11
可以先用uname -r自行查看下当前内核版本
4.配置内核
在正式编译内核之前,我们首先必须配置需要包含哪些模块。实际上,有一些非常简单的方式来配置。使用一个命令,你能拷贝当前内核的配置文件,然后使用可靠的 menuconfig 命令来做任何必要的更改。
cp /boot/config-$(uname -r) .config
上述命令的意思就是拷贝对应当前内核配置到当前目录下并重命名为.config(文件名前加.意思为隐藏文件)。
之后在解压后得内核目录里执行命令
make menuconfig
在这里可以选择启用或者禁用一些模块。如果你不知道该如何选择的话,默认退出即可。
4.编译和安装
退出menuconfig后,在命令行中输入
make -j49
命令即可开始编译。-j49意思是并发执行,可以提高速度,一般保险情况 下不要多于CPU核数。为了加快编译那就多开几个线程吧,可以是CPU内核数+1,比如四十八核就-j49。这个命令的执行会耗费很长时间。
这里用的gcc版本是10.2在前面的文章中有安装好的 https://www.silverdragon.cn/?p=2019
漫长的等待 笔者的使用宿主机分配了48个vCPU 只用了不到5分钟 实际机器配置低的可能需要更久
如果抛出
“没有规则可制作目标debian/certs/debian-uefi-certs.pem由certs/x509_certificate_list需求停止”
这个错误 只需要
sudo vim .config
将CONFIG_SYSTEM_TRUSTED_KEYS="certs/x509_certificate_list"改成CONFIG_SYSTEM_TRUSTED_KEYS=""即可继续make编译
编译完成之后首先安装模块,命令为:
sudo make modules_install
其次安装内核,命令为:
sudo make install
5.完成后启用内核作为引导
输入下列命令将内核作为引导,将数字更改为你自己编译的版本号:
sudo update-initramfs -c -k 5.9.11
下面更新一下grub:
sudo update-grub
6.检查内核是否安装成功
之后重启即可在启动界面选择需要启动的内核5.9.11。
确认下内核版本
参考资料:
啊这