zoukankan      html  css  js  c++  java
  • 编译最新linux内核(version 4.4.2)

    环境:centos6.4 内核版本为2.6.32

    目标:编译4.4.2内核,升级到 4.4.2

    准备工作:

      安装开发库和ncurses库

        # yum groupinstall "Development Tools" -y

            由于内核源码依赖ncurses库,因为我是采用了最新的内核源码,所以我也采用了最新的ncursesversion 6.0

        官方下载地址:http://ftp.gnu.org/gnu/ncurses/

        安装比较简单:生成配置文件make-make install,不在详述。

    编译内核:

        下载内核(version 4.4.2):https://www.kernel.org/

        解压

        # xz -d linux-4.4.2.tar.xz

        # cd linux-4.4.2

            # make menuconfig

        此时出现内核模块选择界面,按需求进行定制,由于我scsi硬盘,所以勾选所有的scsi模块

    如图

      

        勾选后会存为.configure文件,然后make开始编译内核,如果修改以前配置,需要先执行make mrproper

        此时需要依赖

        # yum install bc openssl-devel -y

        然后就是等待内核模块编译完成,需要一段时间

           编译后安装内核模块,make modules_install,默认会装在/lib/modules/4.4.2

           准备内核映像文件  #mkdir kernel

        # cp /usr/src/linux-4.4.2/arch/x86_64/boot/bzImage /boot/kernel/vmlinuz-4.4.2

        # chmod +x vmlinuz-4.4.2

        准备initrd.img,作用是实现kernal启动时模块的加载

        # cd lib/modules/

        # mkinitrd /boot/kernel/initrd.img 4.4.2

      最后就是编辑grub文件了,让它在启动的时候加载新的核心   

         title Kernel 4.4.2

         root (hd0,0)

         kernel /kernel/vmlinuz-4.4.2 root=/dev/mapper/vg_centos64master-lv_root

         initrd  /kernel/initrd.img

        然后重启 uname -r 查看版本为4.4.2,说明新内核已经成功加载了

      

  • 相关阅读:
    ES6中的class的详解
    JavaSrcipt中字符串和数组容易搞混的操作
    ES6中的数据结构Map的理解和描述
    ES6中新增数据结构Set的理解和用法详情描述
    ES6中的Promise的用法总结
    JS中的async/await的用法和理解
    字节跳动、拼多多前端面经
    前端项目优化 -Web 开发常用优化方案、Vue & React 项目优化
    记几个 DOM 操作技巧
    JavaScript 面试题
  • 原文地址:https://www.cnblogs.com/virgree/p/5216706.html
Copyright © 2011-2022 走看看