zoukankan      html  css  js  c++  java
  • CentOS 6.5 升级内核到 3.10.28

    本文适用于CentOS 6.4, CentOS 6.5,亲测可行,估计也适用于其他Linux发行版。

    1. 准备工作

    1.1 下载源码包

    Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3个数字组成:r.x.y

    • r: 主版本号
    • x: 次版本号,偶数表示稳定版本;奇数表示开发中版本。
    • y: 修订版本号 , 表示修改的次数

    http://www.kernel.org 首页,可以看到有stable, longterm等版本,longterm是比stable更稳定的版本,会长时间更新,因此我选择 3.10.28,

    wget  https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.28.tar.xz
    

    1.2 解压

    tar -xf linux-3.10.28.tar.xz
    

    1.3 更新当前系统

    sudo yum update
    sudo yum upgrade
    

    1.4 安装编译内核所需要的软件包

    sudo yum groupinstall "Development Tools" # 一口气安装编译时所需的一切工具
    sudo yum install ncurses-devel #必须这样才能让 make *config 这个指令正确地执行。
    sudo yum install qt-devel #如果你没有 X 环境,这一条可以不用
    sudo yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel #创建 CentOS-6 内核时需要它们
    

    2 配置文件

    2.1 查看当前系统内核

    uname -r
    2.6.32-358.11.1.el6.x86_64
    

    2.2 将当前系统的配置文件拷贝到当前目录

    cp /boot/config-2.6.32-358.11.1.el6.x86_64 .config
    

    2.3 使用旧内核配置,并自动接受每个新增选项的默认设置

    sh -c 'yes "" | make oldconfig'
    

    make oldconfig会读取当前目录下的.config文件,在.config文件里没有找到的选项则提示用户填写,然后备份.config文件为.config.old,并生成新的.config文件,参考 http://stackoverflow.com/questions/4178526/what-does-make-oldconfig-do-exactly-linux-kernel-makefile

    3 编译

    sudo make -j8 bzImage #生成内核文件
    sudo make -j8 modules #编译模块
    sudo make -j8 modules_install #编译安装模块
    

    要严格按照这个顺序进行编译,不能合并成一句sudo make -j8 bzImage modules modules_install

    -j后面的数字是线程数,用于加快编译速度,一般的经验是,有多少G内存,就填写那个数字,例如有8G内存,则为-j8

    4 安装

    sudo make install
    

    如果出现了 ERROR: modinfo: could not find module xxx,数量少的话,可以忽略。

    5 修改Grub引导顺序

    安装完成后,需要修改Grub引导顺序,让新安装的内核作为默认内核。

    编辑 grub.conf文件,

    sudo vim /etc/grub.conf
    

    数一下刚刚新安装的内核在哪个位置,从0开始,然后设置default为那个数字,一般新安装的内核在第一个位置,所以设置default=0

    6 重启

    sudo reboot
    

    重启后,看一下当前内核版本号,

    uname -r
    3.10.28
    

    成功啦!!

    7 如果失败,则重新循环

    如果失败,重新开始的话,要清理上次编译的现场

    make mrproper #清理上次编译的现场 
    

    然后转到第2步,重新开始。

    参考资料

  • 相关阅读:
    URAL 2067 Friends and Berries (推理,数学)
    URAL 2070 Interesting Numbers (找规律)
    URAL 2073 Log Files (模拟)
    URAL 2069 Hard Rock (最短路)
    URAL 2068 Game of Nuts (博弈)
    URAL 2066 Simple Expression (水题,暴力)
    URAL 2065 Different Sums (找规律)
    UVa 1640 The Counting Problem (数学,区间计数)
    UVa 1630 Folding (区间DP)
    UVa 1629 Cake slicing (记忆化搜索)
  • 原文地址:https://www.cnblogs.com/lixigang/p/5371831.html
Copyright © 2011-2022 走看看