一、准备
1.更新软件源
sudo apt update
2.更新软件
sudo apt upgrade
3.下载内核源码
去linux内核官方网站下载内核源代码,选择stable旁边的tarball下载,可以用迅雷,不选最新的,下载速度超慢,还不稳定。
6.安装依赖
sudo apt install libncurses5-dev openssl libssl-dev build-essential pkg-config libc6-dev bison flex libelf-dev zlibc minizip libidn11-dev libidn11 qttools5-dev liblz4-tool
如果是deepin用户,还要安装如下的依赖
sudo apt install plymouth* console-setup
二、开始编译
1.解压
tar -xavf linux-5.18.14.tar.xz
cd linux-5.18.14
到你下载的目录解压,可以解压在主目录(~)下,有教程说必须要解压在/usr/src下,其实是无稽之谈,安装内核时系统会自动帮你把源代码复制到/usr/src下,所以不需要要按网上说的来。我下载的版本号是5.18.14,具体文件名以你下载的为准,可以输入前面几个字母后双击Tab键补全。
2.净化内核源码,删除残留
make mrproper
也可以在想重新编译时执行这个命令
3.配置内核
注意,新版本(也不知道从什么时候开始)的内核源码中自带的.config文件所含内容太少,编译后只能加载一个模块,不能满足正常使用,必须选择之前官方系统编译好的内核(版本末尾包含-amd64-desktop的内核)的.config配置文件,需要复制过来。(我这里的官方最新内核是5.15.34,可在第二行代码/boot/config后面双击tab键列出文件名参考补全)
sudo su
cp /boot/config-5.15.34-amd64-desktop .config
复制完成后直接输入exit
退出sudo继续编译,不然接下来步骤会有一堆问题。
不要在sudo下编译内核!!!
————————————————————————————————————
如果想再修改内核配置(一般情况下官方编译出的内核是不会有这些麻烦的,按照上面步骤操作的小伙伴请跳转到下一步):
XWindows(图形界面)下执行make xconfig
,会自动选取源码提供的默认.config配置文件,可以在这个基础上修改,不过有一个是一定要去掉的:调试信息,不然最后编译出内核巨大,开不了机
2202年都不会用的非图形界面:
make menuconfig
以在xconfig为例,在Kernel hacking
的目录下取消Kernel debugging
,save后关闭窗口。
4.编译并安装内核
注意,此次编译内核需要的时间过长,请备好咖啡(doge)
(1)编译主体
make bzImage -j6
这里的6是你的电脑CPU的线程数,自己查一下
(2)编译模块
make modules -j6
(3)安装模块
如果上一步去除了调试信息,这个命令就可以删掉INSTALL_MOD_STRIP=1
这个参数
sudo make INSTALL_MOD_STRIP=1 modules_install -j6
此时/lib/modules下会出现内核版本号文件夹
(4)最后三部曲,内核最终文件
sudo mkinitramfs /lib/modules/5.18.14-amd64-desktop/ -o /boot/initrd.img-5.18.14-amd64-desktop
sudo cp arch/x86/boot/bzImage /boot/vmlinuz-5.18.14-amd64-desktop
sudo cp System.map /boot/System.map-5.18.14-amd64-desktop
(5)更新grub
sudo update-grub2
然后重启即可
三、重启后查看内核版本号
uname -r
查看内核版本是否正确