深入理解KVM - 编译新内核

准备环节

克隆kvm主线代码

这部分有两个办法一个是直接克隆代码,适合能翻墙的用户,另外一种是从国内网站克隆kernel主线之后更新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如输出类似下图侧表示成功
    在这里插入图片描述

准备编译环境

推荐CentOS8及以上版本

  • 更新系统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内核

若编译过程中出现下图所示,则使用’make vmlinux -j1’查看错误提示,使用百度和谷歌搜索坚决方案
在这里插入图片描述

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

  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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
KVM 是一种开源的虚拟化技术,它可以在 Linux 操作系统上运行虚拟机。下面是 KVM 编译安装及常见问题解决的步骤: 1. 安装依赖库: ``` yum install -y gcc make rsync wget flex bison openssl openssl-devel perl ``` 2. 下载 KVM 源码: ``` wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.6.13.tar.xz tar xf linux-5.6.13.tar.xz cd linux-5.6.13 ``` 3. 配置内核: ``` make menuconfig ``` 在配置界面中,选择 "Virtualization",然后选择 "KVM" 和 "KVM Intel support" 或 "KVM AMD support",保存并退出。 4. 编译内核: ``` make make modules_install make install ``` 5. 配置 KVM: ``` modprobe kvm modprobe kvm-intel ``` 6. 验证 KVM 是否已经安装成功: ``` lsmod | grep kvm ``` 如果输出结果中有 kvmkvm-intel,说明 KVM 安装成功。 常见问题解决: 1. KVM 启动失败,提示 "Unable to complete install: 'internal error: process exited while connecting to monitor: Could not open file '/dev/kvm'"。 解决方法:运行以下命令,将当前用户添加到 kvm 用户组中。 ``` sudo usermod -a -G kvm <username> ``` 2. 在虚拟机中无法启用 KVM。 解决方法:确保主机系统中已经开启了虚拟化支持。可以通过运行以下命令来检查: ``` egrep -c '(vmx|svm)' /proc/cpuinfo ``` 如果输出结果为 0,则说明虚拟化支持未开启。可以在 BIOS 中开启虚拟化支持,或者在主机系统中启用虚拟化支持。 以上是 KVM 编译安装及常见问题解决的步骤,希望可以帮助到你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值