博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
内核必须懂(三): 重编Ubuntu18.04LTS内核4.15.0
阅读量:6261 次
发布时间:2019-06-22

本文共 1078 字,大约阅读时间需要 3 分钟。

目录

  • 前言
  • 编译前准备
  • 编译
  • 安装
  • 重启之后
  • 最后

前言

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


编译前准备

首先补包:

sudo apt-get install build-essential kernel-package libncurses5-dev libssl-dev复制代码

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

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

sudo vim /etc/default/grub复制代码

然后更新下grub:

sudo update-grub复制代码

然后下载源码, 这里推荐:

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

sudo tar -zxvf linux-4.15.tar.gz复制代码

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

sudo cp /boot/config-4.15.0-46-generic .config复制代码


编译

如果你之前编译过, 建议先sudo make mrproper进行清理, 尤其是之前编译失败了. 然后就开始编译, 至少两个小时吧:

sudo make-kpkg cleansudo make-kpkg --initrd kernel-headers kernel_image复制代码

安装

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

sudo dpkg -i *.debreboot复制代码


重启之后

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

之前默认内核如图:

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

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

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

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


最后

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

转载于:https://juejin.im/post/5c937e5b51882533de496bff

你可能感兴趣的文章
实战操作主机角色转移之清除宕机DC的元数据(三)
查看>>
MySQL实现序列(Sequence)效果以及在Mybatis中如何使用这种策略
查看>>
QTP关键字视图下显示项的相关设置
查看>>
openDICOM
查看>>
Linux下有两种聊天命令
查看>>
DataGridView 行的用户删除操作的自定义
查看>>
linux cpu内存利用率获取
查看>>
产品设计体会(8009)产品经理值得看的16个博客
查看>>
Hyper-V 2016 系列教程13 虚拟机监控程序规范
查看>>
SetupDiGetDeviceInterfaceDetail 函数
查看>>
让百度、Google搜到你的博客和论坛
查看>>
C++串口编程实例
查看>>
SSRS 2012 报表基本结构与设置
查看>>
Exchange 2013部署系列之(七)配置SSL多域名证书
查看>>
WPF:从WPF Diagram Designer Part 1学习控件模板、移动、改变大小和旋转
查看>>
创建与SharePoint 2010风格一致的下拉菜单
查看>>
Linux下创建与解压zip, tar, tar.gz和tar.bz2文件
查看>>
IT基础结构-4.BDNS-安装与配置
查看>>
轮番上阵:Linux下查找漏洞的N种兵器(转贴)
查看>>
综合应用WPF/WCF/WF/LINQ之六:数据库结构
查看>>