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,说明新内核已经成功加载了

      

  • 相关阅读:
    SHELL编程之执行环境----邹立巍的博客
    linux内核分析系列--百度
    Linux模式设计系列( 内核与应用关联思考)
    Linux内核源代码情景分析系列
    Linux内核学习和研究及嵌入式(ARM)学习和研究的开放文档
    实验楼内核分析 +图
    《Linux内核修炼之道》 系列
    和菜鸟一起学linux内核源码之基础准备篇 系列 体系结构图
    实验楼在线算法学习
    linux-0.11内核 调试教程+GCC源代码
  • 原文地址:https://www.cnblogs.com/virgree/p/5216706.html
Copyright © 2011-2022 走看看