我正在使用oz-install
它来自动生成原始图像,下面是我的配置文件。
corey.tdl
<template>
<name>corey_x86_64</name>
<description>CentOS 7 template</description>
<os>
<name>CentOS-7</name>
<version>789</version>
<arch>x86_64</arch>
<install type='url'>
<url>http://xx.xx.xx.xx/CentOS-7-x86_64.iso</url>
</install>
</os>
<disk>
<size>30</size>
</disk>
</template>
corey.auto
echo 'Update packages'
yum update
构建命令:
oz-install -d3 -a corey.auto -s "/home/corey/corey.img" -u corey.tdl -x corey.xml -t 3600
但它显示出错误:
libvirt.libvirtError: 内部错误:连接到监视器时进程退出:2021-11-30T06:37:12.755723Z qemu-system-x86_64:警告:主机不支持请求的功能:CPUID.80000001H:ECX.svm [bit 2] qemu:linux 内核太旧,无法加载 ram 磁盘
我读过这个问题在 Github 上,它可能在某种程度上是根本原因,但我不知道如何-cpu host
在运行时将其传递给它,并尝试在或oz-install
中设置它,但根本没有起作用。.tdl
qemu.conf
我运行的是 Ubuntu18.04、内核 4.15.0-162-generic、libvirt 4.0.0 和 QEMU 版本 2.11.1。任何想法都将不胜感激。
答案1
该问题与 Linux 内核无关,但与.tdl
文件中的语法有关。
我将其替换install type='url'
为之后install type='iso'
,它就起作用了。
以下是我的正确答案:
<install type='iso'>
<iso>file:///home/corey/CentOS-7-x86_64.iso</iso>
</install>