我安装了CentOS 7.6,然后在机器上安装了所有QEMU。我有一个需要在VM中启动的SPARC映像。我一直在使用 qemu-system-sparc 。
$ qemu-system-sparc -m 256 -hda solaris_v2-qemu_v2.2.0.disk -nographic -bios ./openbios-sparc32
这是在装有Fedora-30的盒子上。
我可以使用 qemu-sparc 打开我的Solaris映像: solaris_v2-qemu_v2.2.0.disk 吗?
如果是,怎么办?
BTW, qemu-sparc 随附(在CentOS 7.6上):
$ sudo yum install qemu*
PS>我试图在我的CentOS机器上安装 qemu-system-sparc ,但最终陷入了一场永无休止的依赖游戏。 >
答案 0 :(得分:0)
经过大量的网络搜索,我发现了这一点:
QEMU作为用户空间模拟器
QEMU通常有两种形式: qemu-system- *是系统模拟器 (能够运行整个操作系统,如前所述) 部分),而 qemu- *是用户空间仿真器(只能运行 用户空间应用程序。)
QEMU作为用户空间仿真器因此可以直接执行SPARC 模仿应用程序请求的系统调用。
这种方法的最大特点是:
应用程序的输出直接显示在终端中, 通过命令行直接给出应用程序的参数, QEMU返回应用程序等的返回码。 就像时间一样,还是充当应用程序的包装器。
您在此方法中要做的唯一复杂的事情就是 为SPARC编译跨工具链,因此可以编译SPARC程序 在主机上。这样的跨工具链可以通过使用 很棒的 crosstool-ng 。
因此答案似乎是:不,您不能使用 qemu-sparc 在虚拟机中运行映像。
答案 1 :(得分:0)
您需要qemu-system-sparc,这将“模拟” sparc系统。 qemu-sparc将仅模拟CPU和syscall,因此SPARC编译程序(您可以根据需要从磁盘映像中提取该程序)将在非sparc主机上运行,而大多数syscall会被qemu“转换”为主机syscall,因此,SPARC程序可以在所述主机上运行。文件io,内核之类的东西,大多数情况下都会翻译并在您的主机上运行。方便调试或逆向工程。
尝试:
yum install qemu-kvm
当然需要依赖项。在您的情况下不是很有用,但您也可以自己编译qemu,可能依赖项重叠:
git glib2-devel libfdt-devel pixman-devel zlib-devel