0
点赞
收藏
分享

微信扫一扫

深入理解KVM - 编译新内核

思考的鸿毛 2022-04-20 阅读 69

文章目录

准备环节

克隆kvm主线代码

  • 克隆主线 git clone https://mirrors.tuna.tsinghua.edu.cn/git/linux.git
    更新成功后在当前目录出现 linux 目录,进入linux目录
  • 添加kvm分支 git remote add kvm git://git.kernel.org/pub/scm/virt/kvm/kvm.git
  • 获取kvm分支更新内容 git fetch kvm
  • 使用git branch -a如输出类似下图侧表示成功
    在这里插入图片描述

准备编译环境

  • 更新系统yum update -y
  • 安装开发组软件yum group install "Develop*" -y
    在这里插入图片描述
  • 安装依赖
yum install bc python3 ncurses ncurses-devel openssl-devel -y

编译前需了解的知识

查看make支持命令

在这里插入图片描述

  1. 其中menuconfig需要 ncurses库支持,menuconfig提供终端交互方式配置内核参数
  2. olddefconfig基于现有的.config文件升级,其中新添加的特性按照 arch/x86/configs/x86_64_defconfig自动填充

编译步骤

  1. 编译内核
  2. 编译initramfs文件
  3. 编译module模块

编译内核

拷贝当前内核的配置文件

  • 使用uname -a查看当前内核编号
    在这里插入图片描述
  • 进入/boot目录找到与内核编号相同的配置文件,拷贝文件到内核源码目录内,文件名为 .config
    在这里插入图片描述
  • 执行make olddefconfig
  • 执行make vmlinux -j cpu线程数编译linux内核

注意!!!
如果编译过程中遇到如图所示的错误,请按照下面步骤操作,没有可忽略
在这里插入图片描述

  1. 编辑 .config文件,清空 CONFIG_SYSTEM_TRUSTED_KEYS参数
    在这里插入图片描述

编译bzImage

  • 执行make bzImage即可
    在这里插入图片描述
    出现 bzImage is ready即可

编译modules

  • 执行make modules即可
    在这里插入图片描述

安装新内核

推荐关闭selinux

安装模块

  • 执行make modules_install安装模块
  • 执行make install安装bzImage和kernel

检查默认引导内核

执行grubby --info DEFAULT,输出如下图,其中内核编号和编译的相同即可
在这里插入图片描述

举报

相关推荐

0 条评论