Ubuntu重新编译Linux内核

一、内核下载

官方网址

https://www.kernel.org/

 Ubuntu提供的内核下载地址

https://kernel.ubuntu.com/~kernel-ppa/mainline/

清华镜像站

https://mirrors.tuna.tsinghua.edu.cn/kernel/

二、安装编译依赖项

 更新操作

sudo apt-get upgrade 
sudo apt-get update

依赖项

sudo apt-get install libncurses5-dev openssl libssl-dev 
sudo apt-get install build-essential openssl 
sudo apt-get install pkg-config 
sudo apt-get install libc6-dev 
sudo apt-get install bison 
sudo apt-get install flex 
sudo apt-get install libelf-dev 
sudo apt-get install zlibc minizip 
sudo apt-get install libidn11-dev libidn11

 三、解压内核到指定路径

以Linux-5.12.13为例

sudo tar -xavf linux-5.12.13.tar.xz -C /usr/src

sudo tar -xavf linux-5.12.13.tar.xz -C /usr/src

四、进入到解压的内核目录

cd /usr/src/linux-5.12.13

 五、净化源码

此处可选,具体功能未了解

sudo make mrproper 
sudo make clean

六、对内核选项进行设置

 得到内核之后要对其进行配置,配置的方法是将现有内核的配置选项复制到要编译的新内核上去。下面命令是将现有的内核(5.8.0-59-generic)版本的config配置信息复制到现在目录下的 .config里面

sudo cp /boot/config-5.8.0-59-generic .config

此处可选命令

sudo cp /boot/config-$(uname -r) .config

之后对内核进行配置,此处配置是一个图形界面,选择Load-Enter-Save-Enter-Exit-EXit。

之后进行编译及安装模块,-j4表示线程同时编译以提高编译速度。

sudo make -j4
sudo make modules -j4
sudo make modules_install -j4

 此处,make modules_install时可能会遇到以下错误

make[1]: *** 没有规则可制作目标“debian/canonical-certs.pem”,由“certs/x509

 解决方法:进入所安装内核解压文件目录下,编辑,config文件,将其中CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem"引号中部分删除。

七、安装

在所安装的内核目录(如/usr/src/linux-5.12.13/)下执行下列命令

sudo make install 
sudo mkinitramfs -o /boot/initrd.img-5.12.13 
sudo update-initramfs -c -k 5.12.13
sudo update-grub2

八、检查结果

重启,查看内核版本

sudo reboot 
uname -r

注:实际安装后通过(uname -r)命令检查当前内核为所安装内核,但是通过(dpkg --list | grep linux)命令打印信息,未看到所安装的内核,此处有待解决

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值