从源代码构建的Qemu不能与RHEL-7上的--enable-kvm标志一起使用,但令人惊讶的是在CentOS-7

时间:2018-03-13 14:11:35

标签: qemu kvm

我正在尝试使用--enable-kvm标志从源代码构建和运行QEMU。令人惊讶的事实是qemu与--enable-kvm标志就像CentOS 7(服务器和工作站)上的魅力一样,但它在RHEL 7服务器上非常糟糕。

我正在使用Linux来自sratch指南来构建系统链接:http://www.linuxfromscratch.org/blfs/view/cvs/postlfs/qemu.html

我已使用脚本

测试了vmx标志
grep -E "(vmx|svm)" /proc/cpuinfo | wc -l
4

在Rhel以及centos上,我使用以下脚本下载了依赖项。

#!/bin/sh
yum install gcc
yum install zlib-devel
yum install gnutls-devel
yum install libgcrypt-devel
yum install glibc-devel
yum install glib2-devel
yum install pixman-devel

然后我使用以下脚本编译构建

if [ $(uname -m) = i686 ]; then
   QEMU_ARCH=i386-softmmu
else
   QEMU_ARCH=x86_64-softmmu
fi

sed -i 's/ memfd_create/ qemu_memfd_create/' util/memfd.c &&

mkdir -vp build &&
cd        build &&

../configure  --target-list=$QEMU_ARCH \
              --enable-gnutls          \
              --enable-gcrypt &&

unset QEMU_ARCH &&
make &&
make-install

在此之后,我尝试使用命令启动加密的虚拟磁盘。

qemu-system-x86_64 --enable-kvm -daemonize -display none \
-net user,hostfwd=tcp::3000-:22,hostfwd=tcp::8080-:8080,hostfwd=tcp::80-:80,hostfwd=tcp::443-:443 -net nic \
-object secret,id=secmaster0,format=base64,file=key.b64 \
-object secret,id=sec0,keyid=secmaster0,format=base64,\
data=$SECRET,iv=$(<iv.b64) \
-drive if=none,driver=luks,key-secret=sec0,\
id=drive0,file.driver=file,\
file.filename=prod.luks \
-device virtio-blk,drive=drive0 -m 5120

然后,我只是在守护进口的kvm中ssh。关键是一切都像CentOS中的魅力一样,但在RHEL 7中,我无法在机器中使用ssh。

如果我删除--enable-kvm标记,我可以ssh。

我已经花了很多时间试验它,我根本不明白出了什么问题。我不是这个主题的专业人士只是试图找到一个利基问题的解决方案。任何关于对qemu或任何指导或对文档/邮件列表主题/论坛的引用的指导都非常感谢。

和平。

更新

正如@Peter Maydell在评论中提到的那样,我启动了没有display none标志的qemu。它启动了一个vnc,我与vnc连接,似乎kvm似乎没有启动硬盘。它被困在了 Booting from Hard Disk ...

0 个答案:

没有答案