我想学习Linux中的NVMe驱动程序,但我没有物理NVMe驱动器。所以,我认为QEMU是我目前唯一的选择。我在这些步骤中将系统设置为" root":
从稳定分支克隆的源代码构建QEMU-2.2.1
git clone -b stable-2.2 git://git.qemu-project.org/qemu
。/配置 --enable-linux-aio --target-list = x86_64-softmmu
干净的 make -j8
make install
创建一个img并将CentOS6.6安装到此图像中:
qemu-img create -f raw ./vdisk/16GB.img 16G
qemu-system-x86_64 -m 1024 -cdrom ./vdisk/CentOS-6.6-x86_64-minimal.iso -hda ./vdisk/16GB.img
使用nvme设备在QEMU中运行CentOS6.6
qemu-system-x86_64 -m 1024 -hda ./vdisk/16GB.img -device nvme
但它显示以下错误消息:
qemu-system-x86_64:-device nvme:设备初始化失败。
qemu-system-x86_64:-device nvme:Device' nvme'无法初始化
我也在没有nvme设备的QEMU中运行CentOS6.6,它运行得非常好。
qemu-system-x86_64 -m 1024 -hda ./vdisk/16GB.img
那么,如何获得有关此错误的更多调试信息?或者,如果您也有类似的经历,我该如何解决这个问题呢?
谢谢,
-Crane
答案 0 :(得分:1)
找到解决方案:为nvme设备创建一个img,然后像这样启动qemu:
qemu-system-x86_64 -m 2048 -hda ./vdisk/16GB.img -drive file=./vdisk/nvme_dut.img,if=none,id=drv0 -device nvme,drive=drv0,serial=foo --enable-kvm -smp 2