由于想要编译kvm-kmod,编译的时候提示内核版本太低,所以就不得不升级下linux内核,目前最新版内核是4.7.2,编译内核并不是一件很难的事,但是这么久没编译过,还是有必要记录下这一过程。

首先下载linux内核最新版4.7.2  https://www.kernel.org/,这个可以放到任意目录,并没有特殊的要求
然后需要安装几个工具,这个先安装也可以,在编译中安装也可以。
具体步骤如下:
1、解压内核源码包,进入目录
2、make menuconfigure
3、make     此过程会比较漫长
4、make modules
(现在make 步骤基本涵盖了make modules这一步)
5、make modules_install
 
 
这个时候在源代码目录中会生成几个比较重要的文件:
1、~/arch/x86_64/boot/bzImage
2、~/System.map
我们需要把这两个文件复制到指定的目录中:
cp arch/x86_64/boot/bzImage /boot/vmlinuz-4.7.2
cp System.map /boot/System.map-4.7.2
然后进入/boot目录
给System.map文件建立一个软连接: ln -s  System.map-4.7.2 System.map
最后还需要生成img文件:
 mkinitrd /boot/initrd-4.7.2.img 4.7.2
 
(现在make install可直接完成上述动作)
至此需要的文件我们已经设置完毕,剩下的就是修复引导了,这里不建议手动去修改grub文件,我们可以利用工具
 
grub2-mkconfig -o /boot/grub2/grub.cfg
这样根据boot目录下的文件自动更新grub文件。假如要想修改默认的启动内核可以修改/etc/default/grub文件,这点和ubuntu是一样的:

也可以采用更加便捷的方式,直接利用命令:

grub2-set-default "",引号内放置grub.cfg文件中,开始引号内的部分,例如:

menuentry 'CentOS Linux (3.10.1) 7 (Core)' --class centos --class ....................那么设置默认启动的格式为:

grub2-set-default "CentOS Linux (3.10.1) 7 (Core)";这样之后就默认从设置的启动项进入系统了。

其实可以直接修改grub.cfg文件,但是那样并不是从根本上修改,每次更新都会根据/etc/default/grub文件去设置,所以这里直接从源头修改,在GRUB_DEFAULT后的数字就代表选定的是哪个启动项,从0开始,顺序就是grub.cfg文件里menuentry的顺序!!
执行完毕后在此运行grub2-mkconfig命令更新即可!!

Centos7编译4.7.2内核的更多相关文章

  1. centos7编译linux的内核源码

    昨天编译了一个linux 内核源码,遇到一些问题, 今天把我遇到的问题和解决方法分享给大家.希望可以帮助到需要的人. 1.检查是否安装了相应的包 我第一次编译的时候只安装的“Development T ...

  2. CentOS7编译安装Nginx-1.8.1和编译参数

    CentOS7编译安装Nginx-1.8.1和编译参数 Web服务器Nginx    LNMP是一组众所周知的Web网站服务器架构环境,即由Linux+Nginx+MySQL+PHP(MySQL有时也 ...

  3. centos7编译安装MySQL5.7.9

    title: centos7编译安装MySQL5.7.9 date: 2016-05-12 16:20:17 tags: --- Centos7编译安装mysql5.7.9 mysql5.7有更好的性 ...

  4. 编译Android源代码与内核总结

    这些天花了些时间自己下载了android源代码来编译,当中走了一些弯路导致耗了些时间,如今又一次梳理总结下,让有同样想法的人自己编译的时候能少走些弯路,官方指导文档在http://source.and ...

  5. [转载]Linux 环境下编译 0.11版本内核 kernel

    最近在看<.如果Clobber/Modify 为空,则其前面的冒号(:)必须省略. 2.如果Output,Input,Clobber/Modify都为空,Output,Input之前的冒号(:) ...

  6. 【Android 系统开发】 编译 Android文件系统 u-boot 内核 并烧写到 OK-6410A 开发板上

    博客地址 : http://blog.csdn.net/shulianghan/article/details/40299813  本篇文章中用到的工具源码下载 : -- ok-6410A 附带的 A ...

  7. linux 实现centos7在线升级最新版本内核

    Kernel  (内核)是操作系统的核心,掌握所有硬件设备的控制权,也就是说,你所希望计算机帮你完成的各项工作,都需要通过内核的帮助才能完成,当然,如果我们想完成的某个功能是内核没有的,则内核不会操控 ...

  8. Centos7编译opencv3.4.1

    Centos7编译opencv3.4.1 参考博客 https://blog.csdn.net/wjbwjbwjbwjb/article/details/79111996 1.配置epel源 yum ...

  9. <摘录>Linux 环境下编译 0.11版本内核 kernel

    系统环境:Fedora 13 + gcc-4.4.5 最近在看<linux内核0.11完全注释>一书,由于书中涉及汇编语言的地方众多,本人在大学时汇编语言学得一塌糊涂,所以实在看不下去了, ...

随机推荐

  1. php读取csv的问题

    csv文件要用utf-8 无bom格式保存 如果有英文外的字符,另外每项要用双引号,不用双引号不能保存非英文字符

  2. Redis-stat is not found

    $ruby -v ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-linux] $gem -v 2.2.2 $which ruby /usr/lo ...

  3. js生成唯一的uuid

    ---恢复内容开始--- 在做项目的时候出现这样的一种情况,需要动态生成唯一的uuid,刚开始我的思路是这样的,我可以根据时间来做,然后出现了下面的思路: var uuid = "cms&q ...

  4. koa介绍

    https://github.com/koajs/koa https://github.com/demopark/koa-docs-Zh-CN ctx.response.type = 'json'; ...

  5. 程序生成word与PDF文档的方法(python)

    程序导出word文档的方法 将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob.Apache POI.Java2Word.iText等各种方式,以及使用free ...

  6. 断言(assert)和程序的安全保证

    断言,用来DEBUG错误的,在DEBUG时发现然后跟踪错误! 通常 写一个程序给别人使用的,这个代码在安全性上的要求是什么呢?直觉上,我们都知道程序不应该崩.但是通常C/C++的程序如果把包含API的 ...

  7. html -- contenteditable 属性:指定元素内容是否可编辑

    所有主流浏览器都支持 contenteditable 属性 定义和用法 contenteditable 属性指定元素内容是否可编辑. 注意: 当元素中没有设置 contenteditable 属性时, ...

  8. wifi的web 认证。

    wifi的web 认证.wifidog+authpuppy+php 或者Wiwiz Auth API

  9. Thinkphp整合各个功能

    thinkphp整合Auth权限管理.支付宝.微信支付.阿里oss.友盟推送.融云即时通讯.云通讯短信.Email.Excel.PDF等等: 基于thinkphp扩展了大量的功能:而不改动thinkp ...

  10. 修复mysql:[ERROR] Native table ‘performance_schema’

    转: http://www.amznz.com/error-native-table-performance_schema/ mysql数据库出现如下错误,主要是因为升级了mysql软件包,而一些数据 ...