qemu-sparc与qemu-system-sparc

时间:2019-07-16 20:48:46

标签: centos qemu sparc

我安装了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 ,但最终陷入了一场永无休止的依赖游戏。 >

2 个答案:

答案 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