您的位置:首页 > 运维架构 > Linux

Linux 发行版CentOS 7 编译内核

2020-05-10 04:18 218 查看

操作系统作业:编译Linux内核

  • 四、总结
  • 一、实验目的

    1. 学习怎样重新编译Linux内核。
    2. 理解、掌握Linux标准内核和发行版本内核的区别。

    二、环境准备

    虚拟机软件:Vmware Workstation
    Linux发行版:CentOS 7 内置内核:linux 3.10.0
    待编译内核:linux 4.15.10

    三、操作方法和步骤

    • 编译过程很多地方需要root权限,为了方便,直接切换到root,切换命令:
    su root
    • 小提示:输入密码时不会显示,
      $
      表示一般用户,
      #
      表示超级管理员root,
      Tab
      键可以补全路径

    (1)下载内核并解压

    1. 使用浏览器打开http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/v4.x/
    2. Ctrl+F
      查找linux-4.15.10.tar.gz,点击即可下载,我下载的位置是
      /home/username/Downloads/linux-4.15.10.tar.gz
    3. 使用
      tar
      命令解压文件:
    tar xf ~/Downloads/linux-4.15.10.tar.gz -C /usr/src
    1. 解压之后,切换工作目录:
    cd /usr/src/linux-4.15.10/

    (2)配置项

    配置项的几种方式

    • make config
      基于文本的配置界面
    • make menuconfig
      基于文本菜单的配置界面
    • make xconfig
      基于图像窗口的配置界面
    • make oldconfig
      基于原来内核配置基础上修改
      本文采用基于文本菜单的配置界面(make menuconfig)
    • 使用
      make menuconfig
      需要
      ncurses-devel
      的支持
    • 安装
      ncurses-devel
      命令:
    yum install ncurses-devel
    • 执行
      make menuconfig
      ,开始选择配置项(注意终端窗口至少为19行,80列,否则报错提示
    make menuconfig
    • 成功执行后,会出现下面的窗口:
    • 直接保存退出就可以了,它会使用 CentOS 内部的配置文件作为这次编译的配置文件

    (3)编译内核

    • 编译需要
      elfutils-libelf-devel
      openssl-devel
      的支持,安装命令:
    yum install elfutils-libelf-devel openssl-devel
    • 使用
      make
      命令开始编译内核,可以使用多核线程提高编译速度:
    make -j4

    emmm,编译时间很长(1小时左右,与电脑性能有关),耐心等待

    (4)安装

    • 漫长的等待之后,终于迎来了安装内核
    • 执行
      make modules_install
      开始安装模块:
    make modules_install
    • 等待几分钟,执行
      make install
      开始安装核心:
    make install
    • 顺利安装完成,重启虚拟机看看

    (5)重启虚拟机

    • 重启之后,进入grub界面,选择新编译的内核:
      CentOS Linux (4.15.10)
    • 进入桌面后,打开终端,使用
      uname -a
      查看内核版本:
    uname -sr
    • 实验做完了,才算完成了一半,还有实验报告没写!haha

    四、总结

    • 有啥总结的!不是一番风顺吗?(👊警告)
    • Go! 篮球场约起!
    故事的大大仙 原创文章 10获赞 9访问量 749 关注 私信
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: