我想使用 qemu 虚拟化 aarch (armv8) 和 armhf (armv7),并使用 Cortex-A7 作为 CPU。我是一名 IT 工程师,对 qemu 经验不多,因此我开始寻找最佳方法,在发现大多数 ARM/RPI 教程实际上使用的是相当老旧且受限的硬件设置后,我遵循了这两个建议使用 Debian +“virt”板的教程:
- https://translatedcode.wordpress.com/2017/07/24/installing-debian-on-qemus-64-bit-arm-virt-board/
- https://phwl.org/2022/qemu-aarch64-debian/
我想这正是我需要的,所有步骤都可以在真实硬件(笔记本电脑上的 qemu)上运行,但最终我需要在我们的 ESXi 虚拟机管理程序上的 VM 上运行 qemu-setup。在这些 VM 上安装 Debian 需要很长时间,因此我尝试在本地笔记本电脑上使用 qemu 安装 Debian,然后将文件复制到虚拟机管理程序上的 VM。
但是这不起作用,我无法在虚拟机上启动 Linux,因为找不到根分区。这似乎与 virtio 有关,但启用虚拟机的硬件加速、激活 libvirtd 或手动加载 libvirt 内核模块也不起作用。
我尝试按照博客文章 + 中的描述使用不同的 qemu 设置安装 Debian,其中我不使用 virtio 硬盘,而是尝试使用 IDE。然而,在 VM 上,我总是在内核启动时收到 virtio 错误,所以我有点不知道根本原因是什么。
如果我做错了什么,您有什么想法吗?对我来说,找到正确的 qemu 标志或手动配置 virtio/libvirt-stuff 并不是一件容易的事,因此非常感谢您的帮助。谢谢!
额外细节:
- 两种情况下的主机系统均为 Manjaro Linux 22
- 成功情况下的 qemu 输出:https://pastebin.com/TWLrPvZY
- 失败情况下的 qemu 输出:https://pastebin.com/vjpS7ZnU
- qemu 步骤(第一种方法是使用 virtio vda):https://pastebin.com/35C8DiX9
- qemu septs(使用 sda 驱动器的第二种方法):https://pastebin.com/QjKeT2f2