操作系统原理这门课布置了一项作业,要求在Ubuntu系统中编译一个新的内核。下面介绍怎么在Ubuntu系统中编译一个新的内核。
安装Ubuntu系统
如何安装win10+Ubuntu双系统,我已经在上一篇文章介绍了,还没安装的,或者感兴趣的,可以去看一下。
准备工作
获取linux内核源代码
可以在官方网站https://www.kernel.org/上下载linux内核源代码的压缩包。
最新的内核源代码可以点击1处下载,如果要减少编译内核的时间,也可以下载历史版本,点击2处任意版本
下载压缩包之后,先解压缩,然后通过mv指令将压缩后的文件夹转移到/usr/src/目录下
sudo mv /home/ck/下载/linux-5.0.2/ /usr/src/
mv指令后面第一个参数填写自己的路径,第二个指令填写要转移到的路径
安装相关依赖
安装相关依赖直接在终端进行。先打开终端,依次输入如下命令:
sudo apt-get update
sudo apt-get install libncurses5-dev libssl-dev
sudo apt-get install build-essential openssl
sudo apt-get install zlibc minizip
sudo apt-get install libidn11-dev libidn11
sudo apt-get install bison
sudo apt-get install flex
如下图所示
注意,这里一定要安装完所有相关的依赖,否则下面在编译内核的时候会出错。如果编译更新版的内核,可能会要求有更多的依赖性,不要经,根据编译时候的报错原因,继续安装相关的依赖就可以,安装完成之后再重新编译内核。
编译内核
做好前置的准备工作之后,就可以开始编译内核了。编译内核分为一下两个过程:
1.配置
依次输入以下命令:
sudo make mrproper
sudo make clean
sudo make menuconfig
如图所示
其中
sudo make mrproper可以清除编译过程中产生的所有中间文件
sudo make clean可以清除上一次产生的编译中间文件
sudo make menuconfig指令输入后会出现选择的图形化界面,如下图所示
在这个图形界面中,可以根据自己需要配置内核,也可以直接按右方向键选择到exit退出,退出提示中选择保存,实现内核的默认配置
编译
输入命令
sudo make -j4
如图所示
这里我的电脑是四核的,就用了-j4,如果电脑是八核的,也可以用-j8。j后面的数字越大,编译的时间就越快。这一步需要的时间比较久,笔者编译3.16.63用了20+分钟,编译5.0.2用了40分钟。编译过程如下图所示
生成新内核
编译完成之后,就可以生成新内核了。
首先,我们要先安装内核,依次输入如下命令:
sudo make modules_install //安装内核模块
sudo make install //安装内核
如图所示:
这两个过程不会需要很长的时间,等安装完内核之后,就重新启动计算机,进入Ubuntu高级选项界面,即可见到编译好的内核,选择该内核启动,如图所示
到这里,就成功编译完一个新的内核了。
下一篇文章,笔者将会介绍删除内核的方法,感兴趣的可以看看。