【问题标题】:Emulating Solaris 10 SPARC on QEMU在 QEMU 上模拟 Solaris 10 SPARC
【发布时间】:2019-04-04 21:27:47
【问题描述】:

我正在尝试运行一个旧的 Solaris SPARC 应用程序。

我从this question 那里了解到 x86 Solaris 不会削减它。我最近了解到 VM virtualbox 无法模拟 SPARC 架构。因此,我目前正在尝试使用 QEMU 模拟 Solaris 10 SPARC。

我从here 获得了一个 Solaris 10 SPARC iso (sol-10-u11-ga-sparc-dvd.iso)。

我已经安装了 Qemu 3.1.50。

但是,当我尝试运行时,它给了我:

C:\Users\xxxx\Documents\CMARPS>"C:\Program Files\qemu\qemu-system-sparc64" -m 512 -cdrom "sol-10-u11-ga-sparc-dvd.iso" -boot d -nographic
OpenBIOS for Sparc64
Configuration device id QEMU version 1 machine id 0
kernel cmdline
CPUs: 1 x SUNW,UltraSPARC-IIi
UUID: 00000000-0000-0000-0000-000000000000
Welcome to OpenBIOS v1.1 built on Feb 15 2019 10:05
  Type 'help' for detailed information
Trying cdrom:f...
Not a bootable ELF image
Not a bootable a.out image

Loading FCode image...
Loaded 7420 bytes
entry point is 0x4000
Evaluating FCode...
Evaluating FCode...
Ignoring failed claim for va 1000000 memsz af6d6!
Ignoring failed claim for va 1402000 memsz 4dcc8!
Ignoring failed claim for va 1800000 memsz 510c8!
SunOS Release 5.10 Version Generic_147147-26 64-bit
Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved.
could not find debugger-vocabulary-hook>threads:interpret: exception -13 caught
interpret \ Copyright (c) 1995-1999 by Sun Microsystems, Inc.
\ All rights reserved.
\
\ ident "@(#)data64.fth 1.3     00/07/17 SMI"

hex

only forth also definitions
vocabulary kdbg-words
also kdbg-words definitions

defer p@
defer p!
['] x@ is p@
['] x! is p!

8 constant ptrsize

d# 32 constant nbitsminor
h# ffffffff constant maxmin
\
\ Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
\ Use is subject to license terms.
\

\ #pragma ident "@(#)kdbg.fth   1.20    08/06/06 SMI"

h# 7ff constant v9bias
h# panic - kernel: no nucleus hblk8 to allocate
EXIT

尝试启动给了我:

0 > boot
boot Not a Linux kernel image
Not a bootable ELF image
Not a bootable a.out image

Loading FCode image...
Unhandled Exception 0x00000000ffeb6080
PC = 0x00000000ffd27954 NPC = 0x00000000ffd27958
Stopping execution

要么是有什么东西导致内核崩溃,要么我的 iso 实际上没有正确启动(?)

我认为也许 iso 实际上是 32 位 SPARC iso,所以我尝试了一下:

C:\Users\xxxx\Documents\CMARPS>"C:\Program Files\qemu\qemu-system-sparc" -m 256 -cdrom "sol-10-u11-ga-sparc-dvd.iso" -boot d -nographic
Configuration device id QEMU version 1 machine id 32
Probing SBus slot 0 offset 0
Probing SBus slot 1 offset 0
Probing SBus slot 2 offset 0
Probing SBus slot 3 offset 0
Probing SBus slot 4 offset 0
Probing SBus slot 5 offset 0
Invalid FCode start byte
CPUs: 1 x FMI,MB86904
UUID: 00000000-0000-0000-0000-000000000000
Welcome to OpenBIOS v1.1 built on Feb 15 2019 10:04
  Type 'help' for detailed information
Trying cdrom:d...
Not a bootable ELF image
Not a bootable a.out image
No valid state has been set by load or init-program

0 > boot
boot Trying cdrom:d...
Not a bootable ELF image
Not a bootable a.out image
No valid state has been set by load or init-program
 ok
0 >

我在这里做错了什么?

【问题讨论】:

标签: solaris qemu sparc


【解决方案1】:

您尝试仅使用 512 mb 的 RAM 运行:

...qemu-system-sparc64" -m 512 ...

根据System Requirements and Recommendations 上的 Oracle Solaris 10 1/13 安装指南:规划安装和升级页面:

对于 UFS 或 ZFS 根文件系统,安装所需的最小内存为 1.5 GB。但是,请注意,某些可选安装功能仅在内存充足时才会启用。例如,如果您的系统内存不足并且您从 DVD 安装,则通过 Oracle Solaris 安装程序的文本安装程序进行安装,而不是通过 GUI。

【讨论】:

    【解决方案2】:

    当前版本的 QEMU(我上次使用 4.1 测试)还不能很好地支持 SPARC64 系统。虽然支持指令集,但要运行 OpenSolaris,还需要模拟其余硬件。系统仿真代码还没写完,但是我看到Git的进展有些缓慢。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多