内核必须懂(三): 重编Ubuntu18.04LTS内核4.15.0

目录

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

前言

以前在写系统调用的时候也说过, 可是当时理解有限, 写的很差. 此次再从新编译内核, 分享经验.linux


编译前准备

首先补包:vim

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

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

编译前准备

打开grub文件, 因为个人是单Ubuntu系统, 不是常见的Win+Ubuntu双系统, 因此开机选择系统的选项就默认隐藏了, 须要手动打开, 即注释掉第7行:ui

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

启动菜单

而后更新下grub:es5

sudo update-grub
复制代码

而后下载源码, 这里推荐阿里的镜像:spa

阿里镜像

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

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

源码

而后拷贝配置文件, 其实这就是Ubuntu18.04.1LTS自带的配置文件, 这么作的好处就是稳, 若是你知道本身修改的内核配置是什么, 也一样能够在这个原有编译基础上修改. 固然, 如今你应该在解压的源码下面:cdn

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

配置文件


编译

若是你以前编译过, 建议先sudo make mrproper进行清理, 尤为是以前编译失败了. 而后就开始编译, 至少两个小时吧:blog

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

安装

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

sudo dpkg -i *.deb
reboot
复制代码

编译完成


重启以后

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

内核号

以前默认内核如图:

内核号

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

变化

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

变化

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

变化

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

变化


最后

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

相关文章
相关标签/搜索