内核编译实际效果演示

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

    环境: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 17:51
下一篇 2016-09-13 20:43

相关推荐

  • SSH协议详解

    OpenSSH 一、 前言 使用SSH可以在本地主机和远程服务器之间进行加密地传输数据,实现数据的安全。而OpenSSH是SSH协议的免费开源实现,它采用安全、加密的网络连接工具代替了telnet、ftp等古老明文传输工具。 SSH(Secure Shell)是建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登陆会话和其他网络服务提供安全性…

    Linux干货 2016-12-16
  • 马哥教育网络21期+第二周练习博客

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 长用的文件管理类命令有cp(复制),mv(移动),rm(删除)。接下来我将为大家一一讲解。 复制命令:cp 在cp时要根据源和目的做出确认与调整; 命令格式:     cp [OPTION]… [-T] SO…

    Linux干货 2016-07-22
  • 8-8 处理文本工具sed及vim文本编辑工具

    处理文本工具sed及vim文本编辑工具 Sed:   sed是一种在线编辑器、行编辑器,一次处理一行内容。在处理时,把当前处理的行存储在临时缓冲区中,该缓冲区称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完毕后,把缓冲区的内容送到标准输出;然后紧接着处理下一行,重复完成相同的操作,直到文件末尾;sed处理的整个过程中,对象文件…

    Linux干货 2016-08-11
  • TCP三次握手和四次挥手

    TCP三次握手 有两台机器,A是客户端(主动发起请求的人),B是服务器端(被动接受请求的人),客户端A刚开始没有人和他通讯,所以客户端A的状态是CLOSDE(关闭的),服务器端B刚开始的状态也是CLOSDE,但是总有人去访问他,所以服务器端B开启了LISTEN(收听)状态。 (1)假设A机器想链接B机器了,他就会向B机器发送一个建立链接的请求,这个建立链接请…

    2017-08-31
  • Linux LVM

    Linux LVM 前言     LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。无论在Linux或者其他类似…

    系统运维 2016-04-24
  • Linux网络属性配置—ifcfg命令家族

    ifcfg命令家族:ifconfig,route,netstat 1、NAME               ifconfig – configure a network interface       SYNOPSIS   &n…

    Linux干货 2016-11-27