由于想要编译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. SSL/TLS协议运行机制的概述_转

    转自:SSL/TLS协议运行机制的概述 作者: 阮一峰 日期: 2014年2月 5日 互联网的通信安全,建立在SSL/TLS协议之上. 本文简要介绍SSL/TLS协议的运行机制.文章的重点是设计思想和 ...

  2. TCP协议格式

    TCP协议 协议格式 0 16 31 |16位源端口 | 16位目标端口| | 32位序号 | | 32位确认序号 | |4位首部长度|保留(6位)|URG|ACK|PSH|RST|SYN|FIN|1 ...

  3. 使用PULL解析XML文件

    转载博文1:http://blog.csdn.net/wangkuifeng0118/article/details/7313241 XmlPull和Sax类似,是基于流(stream)操作文件,然后 ...

  4. 第二百八十一节,MySQL数据库-SQL注入和pymysql模块防止SQL注入

    MySQL数据库-SQL注入和pymysql模块防止SQL注入 SQL注入就是通过SQL语句绕开程序判断,获取到数据库的内容 下面以一个简单的程序登录SQL注入举例: 正常登录 1.数据库有一张会员表 ...

  5. 第二百五十八节,Tornado框架-逻辑处理get()方法和post()方法,初识模板语言

    Tornado框架-逻辑处理get()方法和post()方法,初识模板语言 Tornado框架,逻辑处理里的get()方法,和post()方法 get()方法,处理get方式的请求post()方法,处 ...

  6. mysql -- 按时间查询 今天、昨天、明天、上月....

    今天   select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天   SELECT * FROM 表名 WHERE TO_DAYS( NO ...

  7. 【BZOJ】1609: [Usaco2008 Feb]Eating Together麻烦的聚餐(dp+被坑)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1609 首先我不得不说,我被这题坑了.题目前边没有说可以不需要3种牛都有啊!!!!!!!!然后我一直在 ...

  8. phalcon下拉列表

    <?php echo Phalcon\Tag::selectStatic("gender", array(0 => "Male", 1 => ...

  9. redis的使用和安装,redis基础和高级部分

    redis的使用和安装,redis基础和高级部分 在后端开发中,为了提高性能,对于一些经常查询但是又不太变化的内容会使用redis,比如前端的列表展示项等,如果数据有变化也可以清空缓存,让前端查一次数 ...

  10. Hadoop1.2.1 单机模式安装

    首先安装JDK: 然后安装hadoop: 最后的实例测试:首先在 /opt/data 目录下创建 input目录, 然后把hadoop的conf目录下的所有xml文件拷贝到上面的input目录, 然后 ...