编译最新linux内核(version 4.4.2)

时间:2024-03-04 07:41:59

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