• Centos7编译4.7.2内核


    由于想要编译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命令更新即可!!
  • 相关阅读:
    jQuery链式编程时修复断开的链
    只是一个用EF写的一个简单的分页方法而已
    asp.net Core 获取应用程序所在目录的2种方式
    FineUI使用记录
    C#判断一个string是否为数字
    MVC中利用ViewBag传递Json数据时的前端处理方法
    基于Ajax的文件上传使用FileInput插件(使用谷歌翻译作者的原文,大致意思是对的,自己把握)
    ansible中tag的用法
    rabbitMQ中vhost虚拟主机的理解
    一些比较好的链接
  • 原文地址:https://www.cnblogs.com/ck1020/p/5897483.html
Copyright © 2020-2023  润新知