如何编译linux内核4.15.0,内核必须懂(三): 重编Ubuntu18.04LTS内核4.15.0

目录

前言

编译前准备

编译

安装

重启之后

最后

前言

之前在写系统调用的时候也说过, 但是当时理解有限, 写的不好. 这次再重新编译内核, 分享经验.

编译前准备

首先补包:

sudo apt-get install build-essential kernel-package libncurses5-dev libssl-dev

复制代码中途可能会看到如图, 建议保持版本即可:

f2df77c86c6fe1dea8de6373750c23d3.png

打开grub文件, 由于我的是单Ubuntu系统, 不是常见的Win+Ubuntu双系统, 所以开机选择系统的选项就默认隐藏了, 需要手动打开, 即注释掉第7行:

sudo vim /etc/default/grub

复制代码

2808641a650ab01ccca9dbcbc3c29ded.png

然后更新下grub:

sudo update-grub

复制代码然后下载源码, 这里推荐阿里的镜像:

7d23a11cfd8b95f104ee064fcbda1746.png

这里我在Home下建立了目录, 解压源码到下面:

sudo tar -zxvf linux-4.15.tar.gz

复制代码

22f151187790206374e3d5a1802fc86b.png

然后拷贝配置文件, 其实这就是Ubuntu18.04.1LTS自带的配置文件, 这么做的好处就是稳, 如果你知道自己修改的内核配置是什么, 也同样可以在这个原有编译基础上修改. 当然, 现在你应该在解压的源码下面:

sudo cp /boot/config-4.15.0-46-generic .config

复制代码

aad089f440322f8562a19b82846ef224.png

编译

如果你之前编译过, 建议先sudo make mrproper进行清理, 尤其是之前编译失败了.

然后就开始编译, 至少两个小时吧:

sudo make-kpkg clean

sudo make-kpkg --initrd kernel-headers kernel_image

复制代码

安装

然后你会发现上层目录中多了两个deb包, 安装它们:

sudo dpkg -i *.deb

reboot

复制代码

7a75d981a4dacd42f820179c13e10100.png

重启之后

重启之后使用uname -r查看内核版本号, 发现已经改成4.15.0:

bb1cc9fefd5765d1a0edc10218312eab.png

之前默认内核如图:

f89f8ed5b69b3216ab4ef18862a3388d.png

当然了, 不只是内核号变了, 还多了些内容, 在/usr/src下面多了源码文件夹和头文件文件夹:

d07c4eab6ae438ac58dcfcb19ffe4100.png

build和source都指向源码目录, kernel里面则是编译好的模块:

403620ef3b34edc249e86b5e7cdeb3fd.png

/boot下同样增加了自编译内核的相关文件:

48fdeb4d335c871913b1a852274f15d7.png

最后看到/boot/grub/grub.cfg中多了自编译内核的启动信息:

4af1c9767e5e62f80f2c487e6f9478da.png

最后

内核篇章很久没更新了, 重编内核是基础. 喜欢记得点赞, 有意见或者建议评论区见哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值