由于想要编译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. Android基础总结(九)多媒体

    多媒体概念(了解) 文字.图片.音频.视频 计算机图片大小的计算(掌握) 图片大小 = 图片的总像素 * 每个像素占用的大小 单色图:每个像素占用1/8个字节 16色图:每个像素占用1/2个字节 25 ...

  2. asp.net 简单分页打印

    <html> <head> <title>看看</title> <meta http-equiv="Content-Type" ...

  3. Nginx配置proxy_pass转发的/路径

    请求原地址 :http://servername/static_js/test.html location ^~ /static_js/ { proxy_cache js_cache; proxy_s ...

  4. addLoadEvent

    function addLoadEvent(func){ var oldOnload = window.onload; if(typeof(window.onload) != 'function'){ ...

  5. 还是PHPExcel问题

    //设置自动设置宽度,但是对中文不起作用..(中文自动长还在研究当中) $objPHPExcel->getActiveSheet()->getColumnDimension('A')-&g ...

  6. [转]Loadrunner Error code 10053 & Tomcat 连接器(connector)优化

    LoadRunner提示错误:Error : socket0 - Software caused connection abort. Error code : 10053. 在今天的测试过程中发现,s ...

  7. CodeForces 558C Amr and Chemistry (位运算,数论,规律,枚举)

    Codeforces 558C 题意:给n个数字,对每一个数字能够进行两种操作:num*2与num/2(向下取整),求:让n个数相等最少须要操作多少次. 分析: 计算每一个数的二进制公共前缀. 枚举法 ...

  8. Android无线测试之—UiAutomator UiScrollable API介绍五

    滑动区域校准常量设置与获取 一.校准概念 校准常量指的是:滑动操作坐标时的偏移量,用来取偏移比例 二.相关API 返回值 API 描述 double getSwipeDeadZonePercentag ...

  9. ios8推送问题

    博文转载至  http://blog.csdn.net/cerastes/article/details/39546625 ios8push推送通知适配 ios8推送问题 registerForRem ...

  10. oracle的后台进程能否杀掉

    oracle的后台进程杀掉会有什么影响 说明:本文复制自网友的博客: https://blog.csdn.net/kellyseeme/article/details/8927757 数据库版本为: ...