【问题标题】:qemu-sparc vs qemu-system-sparcqemu-sparc vs qemu-system-sparc
【发布时间】:2019-11-25 15:51:21
【问题描述】:

我安装了 CentOS 7.6,然后在我的机器上安装了所有 QEMU。我有一个 SPARC 映像,需要在 VM 中调出。我一直在使用 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 吗?

如果有,怎么做?

顺便说一句,qemu-sparc 附带(在 CentOS 7.6 上):

$ sudo yum install qemu*

PS>我尝试在我的 CentOS 机器上安装 qemu-system-sparc,但最终陷入了一场永无止境的依赖游戏。

【问题讨论】:

  • 你需要 qemu-system-sparc。它应该直接从 CentOS 存储库安装,没有任何问题,但是是的,有一些依赖项 - 这是预期的。

标签: centos qemu sparc


【解决方案1】:

经过大量的网络搜索,我找到了this

QEMU 作为用户空间模拟器

QEMU 通常有两种风格:qemu-system-* 是系统模拟器 (如前所述,能够运行整个操作系统 部分),而 qemu-* 是用户空间模拟器(只能运行 用户空间应用程序)。

QEMU 作为用户空间模拟器,因此能够直接执行 SPARC 应用程序,通过模拟应用程序请求的系统调用。

这种方法的最大特点包括:

应用程序的输出直接显示在终端中, 应用程序的参数直接通过命令行给出, QEMU 返回应用程序的返回码等。QEMU 真的只是 充当应用程序的包装器,就像 time 或 nice 一样。

在这种方法中,您唯一需要做的复杂事情是 为 SPARC 编译一个交叉工具链,因此可以编译 SPARC 程序 在主机上。这样的交叉工具链可以通过使用生成 神话般的crosstool-ng

所以答案似乎是:不,您不能使用 qemu-sparc 在 VM 中运行您的映像。

【讨论】:

  • 报价来源?编辑答案以添加我认为的原始来源。
【解决方案2】:

您需要 qemu-system-sparc,它将“模拟”一个 sparc 系统。 qemu-sparc 只会模拟 CPU 和系统调用,因此一个 SPARC 编译程序(如果需要,您可以从磁盘映像中提取)将在非 sparc 主机上运行,​​而大多数系统调用被 qemu “翻译”成您的主机系统调用,因此 SPARC 程序可以在所述主机上运行。文件 io,内核的东西,它主要被翻译并在你的主机上运行。便于调试或逆向工程。

试试:

yum install qemu-kvm

当然需要依赖。在您的情况下不是很有用,但您也可以自己编译 qemu,也许依赖项重叠: git glib2-devel libfdt-devel pixman-devel zlib-devel

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    • 2023-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-22
    • 2019-07-29
    相关资源
    最近更新 更多