最近我在我的 ubuntu 主机上安装了 QEMU 虚拟机,并在上面构建了 dnvme(nvme 驱动程序)和 tnvme。我试图在模拟的 nvme 硬件上执行 tnvme。我收到错误消息“无法提取驱动程序版本信息和无法构建测试基础,当给出像 ./tnvme -s 这样的命令来总结支持的测试时。我无法在 QEMU 中运行任何测试用例。
那么,我怎样才能得到关于这个错误的更多调试信息呢?或者,我该如何解决这个问题以及如何在 QEMU 上运行至少一个 tnvme 测试用例。
谢谢
最佳答案
我自己刚遇到这个。可能是您没有禁用内核 nvme 驱动程序,而是根据需要启用了 dnvme。
以下步骤帮我解决了问题(以 root 权限运行):
- 通过调用
lsmod | 发现正在运行的 nvme 驱动程序grep nvme
- 使用
rmmod
杀死出现在那里的任何 nvme 驱动程序(例如rmmod nvme
) - 导航到您下载的 dnvme 的根文件夹并运行
insmod dnvme.ko
以启动 dnvme 驱动程序。
您可以通过检查lsmod | 来验证驱动程序现在是否正在运行。 grep nvme
并看到唯一的输出是 dnvme。然后再次尝试运行 tnvme。
这需要在每次系统启动后运行 tnvme 之前完成。
来源:https://github.com/nvmecompliance/tnvme/issues/35 (包含可能对您有用的进一步建议)。
关于linux - 运行 nvme 测试用例时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33887994/