由于需要切换内核版本(4.19)并使用相应版本源代码编译内核模块 ,故在当前版本(5.10.3)下尝试编译内核,参考博客如何编译 Linux 内核 下载源代码进行编译,但当前版本过高,复制当前版本的config文件后make总是会出现一系列奇怪的错误 ,这可能是有些内核选项只适用于当前版本,而低版本不适用,故高版本的配置文件是不可用的。
1 cp /boot/config-$(uname -r) .config
所以采用另外一种方法进行内核编译:先安装版本近似的的内核安装包,而后进行源码编译
deb文件安装内核参考博客Ubuntu Linux内核版本升级或降级到指定版本(基于ubuntu 18.04示例) 就拿4.19版本deb文件举例,在https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19.100/ 中下载相应deb包 根据机器类型选择下载以下文件
1 2 3 4 linux-headers-4.19.100-0419100_4.19.100-0419100.202001300442_all.deb linux-headers-4.19.100-0419100-generic_4.19.100-0419100.202001300442_amd64.deb linux-image-unsigned-4.19.100-0419100-generic_4.19.100-0419100.202001300442_amd64.deb linux-modules-4.19.100-0419100-generic_4.19.100-0419100.202001300442_amd64.deb
而后在下载文件夹中执行dpkg -i *命令
进行安装,而后便参照上述博客进行内核切换即可
1 2 3 grep menuentry /boot/grub/grub.cfg gedit /etc/default/grub update-grub
使用deb完成内核版本切换之后,再执行源码编译过程便没有报一些奇怪的错误
1 2 3 4 5 cp /boot/config-$(uname -r) .config make menuconfig make -j12 make modules_install -j12 sudo make install
如有问题,望请告知,如果有用,记得点个赞^^