debian编译内核的一些补充

基本步骤可以参考我这篇文章:Debian11配置Nginx kernel TLS(kTLS)-荒岛

这里记录点不一样的地方。有些钢筋可能会说你用debian stable不就是图一个稳定性,内核都被你换了,还稳个锤子。。

对于这种hape玩意,其实我都懒得鸟它,但考虑到有时候确实怕新内核装上去给机子干panic了,所以也有一个最保险的编译内核的方法。

直接装下面这个包:

apt install linux-source

这个包就是获取你目前机器正在使用的内核源码,和你机器当前使用的内核版本完全一致。

压缩包会保存在/usr/src,进到目录解压:tar -xvf linux-source-5.10.tar.xz

剩下的步骤就和我文章里面的一样了:

cp /boot/config-$(uname -r) .config
make olddefconfig # 这条命令可以省略,因为内核版本完全一致,配置文件也是直接复制过来的。
make menuconfig

要加上什么功能就在菜单里面选,完事之后编译出deb包安装即可,这样安装的内核与官方完全一致,唯一的区别就是按照你自己的需求增加或减少了内核的某些功能。

如果编译的时候报错:BTF: .tmp_vmlinux.btf: pahole (pahole) is not available
Failed to generate BTF for vmlinux

安装dwarves:

apt install dwarves

要给kernel打补丁什么的,可以看这篇官方的文章:Chapter 4. Common kernel-related tasks