Debian 用 dpkg 管理软件包,内核也一样,所以有专门的内核编译方式,可以直接生成 deb 包。

获取内核源码

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.28.tar.xz
tar -xvf *.tar.gz
cd linux-*

安装必要的工具

sudo apt install gdb bison m4 autoconf automake libtool libncurses5-dev build-essential fakeroot

配置参数

使用当前系统编译时的配置

cp /boot/config-`uname -r` ./.config
make olddefconfig

编译

官方最新的编译方法是 make deb-pkg,它会在上层目录中生成相关 deb 包。以前版本似乎是用 make-kpkg。

fakeroot make -j4 deb-pkg

报错:

fatal error: gelf.h: 没有那个文件或目录

少哪个装哪个

sudo apt install libelf-dev

继续。。这破电脑真的慢。。。早知道不用 olddefconfig 了,驱动模块太多了。花了四个多小时。

然后,就可以像其他 deb 包一样安装了

sudo apt install ./linux-headers-5.15.28_5.15.28-1_amd64.deb 
./linux-image-5.15.28_5.15.28-1_amd64.deb