在QEMU上模拟Solaris 10 SPARC

时间:2019-04-04 21:27:48

标签: solaris qemu sparc

我有一个正在尝试运行的旧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 >

我在这里做什么错了?

2 个答案:

答案 0 :(得分:2)

您正在尝试仅使用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进行安装。

答案 1 :(得分:2)

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