1. 前言
毕业进入公司后,接触的第一个项目是做ceph内核客户端的优化,为了对ceph-client有更加深刻的了解,这里编译linux-3.18内核,操作系统为centos 7.2。

成都创新互联拥有网站维护技术和项目管理团队,建立的售前、实施和售后服务体系,为客户提供定制化的成都做网站、网站制作、网站维护、四川移动机房托管解决方案。为客户网站安全和日常运维提供整体管家式外包优质服务。我们的网站维护服务覆盖集团企业、上市公司、外企网站、电子商务商城网站建设、政府网站等各类型客户群体,为全球上1000+企业提供全方位网站维护、服务器维护解决方案。
2. 本文分析内容安排
3.前期准备
- 到http://www.kernel.org下载对应版本的内核
- 将内核源码解压到/usr/src目录下
tar xf linux-3.18.63.tar.xz -C /usr/src - 因为现在一般采取图形化menuconfig的方式选取编译的模块,该模块依赖于ncurses和ncurses-devel,这里需要首先确认有没有安装这两个包,没有的话要安装
yum install ncurses ncurses-devel
4. 编译安装
- 清理历史编译过程中留下的编译残渣,如果是第一次编译,这一步可以省略
cd /usr/src/linux-3.18.63
make mrproper - 通过界面的方式选择要编译的模块
make menuconfig
对界面中出现的每个配置选项都有三个选择,<*>将一个功能编进内核,[]不编译进内核,[M]是可以动态插入内核的代码 - 开始编译内核,输入
make
这个过程大概需要二十分钟到半个小时的时间,然后生成内核模块,命令为
make modules_install
这步完成之后会在/lib/modules目录下生成以版本号命名的文件模块
make install
这一步之后就在/boot/目录下生成了一个vmlinuz-3.18.63的内核文件了,至此编译完成。重启系统,就会多了新编译内核的选择。
5. 总结
本文讲了如何编译一个新内核,整体与编译一个源码程序差不多,就是第一步稍显麻烦。
分享名称:CentOS7.2编译Linux3.18内核
当前链接:
https://chengdu.cdxwcx.cn/article/coodpdi.html