用make-kpkg制作Ubuntu的内核安装包deb

1 安装make-kpkg

sudo apt install kernel-package

大概需要下载800M左右的文件。

2 配置内核

在内核源码顶层目录执行:

make xxx_defconfig

3 编译内核并制作内核deb包

在内核源码顶层目录执行:

sudo make-kpkg  --initrd --append-to-version -20220228  --revision 001 kernel_image kernel_headers -j4

参数说明:

--initrd: 生成initramfs
--append-to-version:生成内核版本附加信息
--revision:deb文件的版本信息,只影响文件名
kernel_image:内核和模块的安装包
kernel_headers:生成内核头文件的安装包。
-j:指定多少个线程编译内核

4 安装

编译完成后,会在上级目录中生成deb文件:

linux-headers-xx.xx.xx.deb
linux-image-xx.xx.xx.deb

可以直接在ubuntu中安装:

sudo dpkg -i linux-headers-xx.xx.xx.deb
sudo dpkg -i linux-image-xx.xx.xx.deb
sudo update-grub
sudo reboot

5 创建编译内核模块使用的build目录:

如果/lib/modules/$(uname -r)/没有build目录,是无法编译内核模块的,需要手动创建链接文件:

sudo ln -s /usr/src/linux-headers-$(uname -r)/ /lib/modules/$(uname -r)/build
经验分享 程序员 微信小程序 职场和发展