内核编译实际操作效果演示
环境:CentOS7.2,自带内核版本为3.10.0-327.el7.x86_64,下载3.18.41版本进行编译
步骤1:确保开发工具包组已安装
[root@localhost ~]# yum grouplist 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile 已安装环境分组: GNOME 桌面 可用的环境分组: 最小安装 基础设施服务器 计算节点 文件及打印服务器 基本网页服务器 虚拟化主机 带 GUI 的服务器 KDE Plasma Workspaces 开发及生成工作站 已安装的组: 开发工具 可用组: 传统 UNIX 兼容性 兼容性程序库 图形管理工具 安全性工具 控制台互联网工具 智能卡支持 科学记数法支持 系统管理 系统管理工具 完成 [root@localhost ~]#
步骤2:下载内核源码包,解压到某个路径下
[root@localhost ~]# ls anaconda-ks.cfg initial-setup-ks.cfg linux-3.18.41.tar.xz [root@localhost ~]# tar xf linux-3.18.41.tar.xz -C /usr/src/ [root@localhost ~]# ls /usr/src/ debug kernels linux-3.18.41 [root@localhost ~]# cd /usr/src/linux-3.18.41/ [root@localhost linux-3.18.41]# ls arch COPYING crypto drivers fs init Kbuild kernel MAINTAINERS mm README samples security tools virt block CREDITS Documentation firmware include ipc Kconfig lib Makefile net REPORTING-BUGS scripts sound usr [root@localhost linux-3.18.41]#
步骤3:提供一个config配置文件(本实验中以当前系统的安装时内核的模块选项进行进一步的选择,然后编译),在此文件基础上进行进一步的选择内核的功能模块,安装ncurses工具,该工具能帮助我们使用make menuconfig基于图形化窗口的界面,完成内核模块的选择
[root@localhost linux-3.18.41]# yum install ncurses 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile 软件包 ncurses-5.9-13.20130511.el7.x86_64 已安装并且是最新版本 无须任何处理 [root@localhost linux-3.18.41]# yum list all|grep ncurses ncurses.x86_64 5.9-13.20130511.el7 @anaconda ncurses-base.noarch 5.9-13.20130511.el7 @anaconda ncurses-libs.x86_64 5.9-13.20130511.el7 @anaconda ncurses-devel.i686 5.9-13.20130511.el7 cdrepo ncurses-devel.x86_64 5.9-13.20130511.el7 cdrepo ncurses-libs.i686 5.9-13.20130511.el7 cdrepo ncurses-static.i686 5.9-13.20130511.el7 cdrepo ncurses-static.x86_64 5.9-13.20130511.el7 cdrepo ncurses-term.noarch 5.9-13.20130511.el7 cdrepo [root@localhost linux-3.18.41]# yum install "ncurses-devel.x86_64" 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile 正在解决依赖关系 --> 正在检查事务 ---> 软件包 ncurses-devel.x86_64.0.5.9-13.20130511.el7 将被 安装 --> 解决依赖关系完成 依赖关系解决 ============================================================================================================================================================= Package 架构 版本 源 大小 ============================================================================================================================================================= 正在安装: ncurses-devel x86_64 5.9-13.20130511.el7 cdrepo 713 k 事务概要 ============================================================================================================================================================= 安装 1 软件包 总下载量:713 k 安装大小:2.1 M Is this ok [y/d/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安装 : ncurses-devel-5.9-13.20130511.el7.x86_64 1/1 验证中 : ncurses-devel-5.9-13.20130511.el7.x86_64 1/1 已安装: ncurses-devel.x86_64 0:5.9-13.20130511.el7 完毕! [root@localhost linux-3.18.41]# [root@localhost linux-3.18.41]# cp /boot/config-3.10.0-327.el7.x86_64 /usr/src/linux-3.18.41/.config [root@localhost linux-3.18.41]# make menuconfig //注意make动作都需要cd到源码包的解压目录
步骤4:选择好相应的模块后,进行make,可用-j指定用多少线程同时进行编译
步骤5:安装模块
步骤6:make install
步骤7:验证是否成功
原创文章,作者:M20-1倪文超,如若转载,请注明出处:http://www.178linux.com/46139