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

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

准备工作:

  安装开发库和ncurses库

    # yum groupinstall "Development Tools" -y

        由于内核源码依赖ncurses库,因为我是采用了最新的内核源码,所以我也采用了最新的ncurses(version 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,说明新内核已经成功加载了

  

编译最新linux内核(version 4.4.2)的更多相关文章

  1. 【转】6.4.6 将驱动编译进Linux内核进行测试

    原文网址:http://www.apkbus.com/android-98520-1-1.html 前面几节都是将Linux驱动编译成模块,然后动态装载进行测试.动态装载驱动模块不会随着Android ...

  2. linux内核系列(一)编译安装Linux内核 2.6.18

    1.配置环境 操作系统:CentOS 5.2 下载linux-2.6.18版本的内核,网址:http://www.kernel.org 说明:该编译文档适合2.6.18以上的Linux内核版本,只需所 ...

  3. 将MPLS编译进linux内核中

    系统环境:linux kernel 2.6.35.(此环境是上一篇文章中将ubuntu内核替换后的环境) 编译过程如下: 1)首先需要下载patch文件:linux-kernel-v2.6.35-mp ...

  4. 编译安装linux内核步骤

    编译安装linux内核步骤: 一.获取内核源码 源码网址:www.kernel.org 二.解压内核源码 首先以root帐号登录,然后进入/usr/src子目录.如果用户在安装Linux时,安装了内核 ...

  5. 编译aarch64 Linux内核并基于qemu运行

    核心流程 首先,本文主要讲述如何编译Linux内核并在qemu虚拟机上运行.这里针对的架构是aarch64. 本文的实验平台是Ubuntu 16.04. 为了达成目标,我们需要有qemu.buildr ...

  6. 将驱动编译进Linux内核

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  7. 如何编译安装Linux内核

    操作系统环境 VMware workstation15 Pro ubuntu18.04 LTS 待编译内核5.3.10版本 内核下载地址 kernel.org 环境配置 在正式编译前需要安装部分软件. ...

  8. 编译x86_64 Linux内核并基于QEMU运行

    编译并运行内核镜像 安装包准备 $ sudo apt install git $ sudo apt install build-essential kernel-package fakeroot li ...

  9. Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装

    原文:Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装 Linux内核分析(一) 从本篇博文开始我将对linux内核进行学习和分析,整个过程必将十分艰辛,但我会坚持到底 ...

随机推荐

  1. yhdsir@function:php

    curl 获取页面信息 function curl_get_content($url){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $u ...

  2. Spark与缓存

    预期成果 1.1   当前问题 当前以图搜图应用存在的问题: 当前使用spark RDD方案无法达到数据实时加载(每10分钟加载一次,虽然可配,但太短可能会有问题) Spark RDD内存会被分为两部 ...

  3. CodeForces - 540D Bad Luck Island —— 求概率

    题目链接:https://vjudge.net/contest/226823#problem/D The Bad Luck Island is inhabited by three kinds of ...

  4. UVA11077 Find the Permutations —— 置换、第一类斯特林数

    题目链接:https://vjudge.net/problem/UVA-11077 题意: 问n的全排列中多有少个至少需要交换k次才能变成{1,2,3……n}. 题解: 1.根据过程的互逆性,可直接求 ...

  5. matlab程序计时

    t1=datetime(); %程序 t2=datetime() totaltime=t2-t1; disp(t2-t1); 或者: tic %代码块 toc disp(['运行时间: ',num2s ...

  6. jQuery 获取有多个class名的元素

    HTML内容: <div class="write-upload"> <p class="write-files old-files"> ...

  7. ES搜索排序,文档相关度评分介绍——Field-length norm

    Field-length norm How long is the field? The shorter the field, the higher the weight. If a term app ...

  8. centos7在VMware下配置网络连接

    安装成功以后,首先更改vmwar的虚拟网络设置 1.参考连接:http://www.cnblogs.com/liongis/p/3265458.html 2.然后将虚拟机的设置里面将网络配置的连接方式 ...

  9. redis持久化的方式RDB 和 AOF

    redis持久化的方式RDB 和 AOF 一.对Redis持久化的探讨与理解 目前Redis持久化的方式有两种: RDB 和 AOF 首先,我们应该明确持久化的数据有什么用,答案是用于重启后的数据恢复 ...

  10. Linux网络编程 gethostbyaddr()

    C语言函数 概述: 返回对应于给定地址的主机信息. #include <winsock.h> struct hostent FAR *PASCAL FAR gethostbyaddr(co ...