最近要交操作系统的作业,其中一项就是编译Linux系统的最新的内核。
CentOS和RedHat是两个很相似的Linux操作系统,比较稳定,Ubuntu则是另一种比较流行的版本。
我在电脑上安装的是最新版的CentOS7,使用命令uname -a可以查看系统内核版本。
百度上有一篇讲解编译内核的教程,有参考价值,但是那个是CentOS6加上3.x的内核。
http://jingyan.baidu.com/article/414eccf61296c16b421f0a63.html
第一步:到官网https://www.kernel.org/下载最新内核4.3,下载tar.xz
第二步:解压内核
root用户:# tar -Jxvf linux-4.2.3.tar.xz -C /usr/src/把文件解压到 /usr/src/ 中
解压文件,现在一般采用 .tar.xz 的压缩格式(压缩率最高,但是压缩时间较长)。
/usr/src 一般而言、我们制做linux内核的时候源码一般放在这个路径下。
第三步:
如果是第一次编译内核,并没有上次的残留文件可以可以跳过
# make mrproper
这个步骤
注意:make clean 删除大多数的编译生成文件, 但是会保留内核的配置文件.config, 还有足够的编译支持来建立扩展模块
make mrproper 删除所有的编译生成文件, 还有内核配置文件, 再加上各种备份文件
make distclean mrproper删除的文件, 加上编辑备份文件和一些补丁文件。
第四步:
接下来是 make config 。
(具体参照 《make config 的几种类型》)
一般采用# make menuconfig的方式
是这个样子的:
此处需要几个包,选择最简单的yum安装,根据系统情况,缺什么装什么,已经有的就不用再安装了!
# yum -y install gcc和
# yum install ncurses ncurses-devel。
具体配置选项可以自行查询,我是使用的默认值!
对新的内核功能选择,并生成一个 .config 的文件,内核编译安装的时候回从这里读取配置!
第五步:编译内核(时间很长,可能一个多小时)
# make和# make modules_install(此处命令必须进入/usr/src/linux-x-x-x/才有效,否则会报错)
可能只需要一步,看情况吧!
第六步:安装内核(时间很长,可能一个多小时)
# make install
第七步:修改默认启动内核
# vim /boot/grub2/grub.cfg
其实启动的时候会依次列出系统有的内核,从0开始数,想启动那个就设置它的顺序就OK了!
第八步:重启看到效果
完成!额,我刚刚写成了3就是这个效果,其实应该是2........