内核编译实际效果演示

内核编译实际操作效果演示

    环境: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到源码包的解压目录

    blob.png

    步骤4:选择好相应的模块后,进行make,可用-j指定用多少线程同时进行编译

    2.png

    步骤5:安装模块

    5.png

    步骤6:make install

    6.png

    步骤7:验证是否成功

    7.png

    8.png

    9.png

原创文章,作者:M20-1倪文超,如若转载,请注明出处:http://www.178linux.com/46139

(0)
M20-1倪文超M20-1倪文超
上一篇 2016-09-13
下一篇 2016-09-13

相关推荐

  • linux文件查找和压缩

    locate          非实查找,查找是根据全系统文件数据库进行的,                  #updatedb, 手动生成数据库,  locate查找速度快 find : &nbs…

    Linux干货 2017-03-04
  • Linux磁盘管理命令

    Linux有着管理各种存储设备的强大能力。Linux把所有磁盘都当作文件管理,从而简化我们对其进行的读写等操作。 IDE接口的硬盘在Linux中命名为:/dev/hd{a|b|c……},比如/dev/hda; 其他硬盘比如SATA接口的硬盘命名为:/dev/sd{a|b|c……},比如/dev/sda。 注:{…

    Linux干货 2015-12-06
  • 01

    0101

    Linux干货 2016-08-08
  • LVS

    LVS概念 LVS(Linux Virtual Server):Linux 虚拟服务器  LVS是个负载均衡设备,它不提供任何服务,用户请求到这里的时候,它是将客户需求转发至后端真正提供服务的服务,所以说后端的服务称作real server。LVS分为两段,前一段称为ipvsadm(管理集群服务的命令行工具),后面一段叫做ipvs(内核模块) LVS的类型 …

    Linux干货 2017-02-17
  • 防火墙

    iptables笔记整理

    Linux干货 2018-03-05
  • PHP字符串的编码问题

        大家都知道,不同字符编码,其在内存占用的字节数不一样。如ASCII编码字符占用1个字节,UTF-8编码的中文字符是3字节,GBK为2个字节。     PHP 也自带几种字符串截取函数,其中常用到的就是 substr 和 mb_substr。     使用substr截取中…

    Linux干货 2015-10-22