在 qemu-system-sparc64 中引导 Solaris 10 或 11 for Sparc

在 qemu-system-sparc64 中引导 Solaris 10 或 11 for Sparc

我尝试使用 SPARC 引导 Solaris 10 或 Solaris 11 qemu-system-sparc64,但在早期一直遇到问题。我使用的是 DVD 映像sol-10-u11-ga-sparc-dvd.isosol-11_2-text-sparc.iso可从 SUN 的^WOracle 网站获取。

尝试 Solaris 10:

$ qemu-system-sparc64 -m 1024 -cdrom /tank/images/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 Mar 12 2015 08:09
  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
Ignoring failed claim for va 1000000 memsz af6d6!
Ignoring failed claim for va 1402000 memsz 4dcc8!
Ignoring failed claim for va 1800000 memsz 510c8!

Jumping to entry point 00000000010071d8 for type 0000000000000001...
switching to new context: entry point 0x10071d8 stack 0x00000000ffe8aa09
warning:interpret: exception -13 caught
Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved.
spacex@:interpret: exception -13 caught
interpret h# d constant MMU_PAGESHIFT h# 0 constant TTE8K h# 20 constant SFHME_SIZE h# 0 constant SFHME_TTE h# 8 constant HMEBLK_TAG h# 0 constant HMEBLK_NEXT h# 2c constant HMEBLK_MISC h# 38 constant HMEBLK_HME1 h# 8 constant NHMENTS h# 7 constant HBLK_SZMASK h# 10 constant HBLK_RANGE_SHIFT h# 8 constant HMEBP_HBLK h# 1 constant HMEBLK_ENDPA h# 20 constant HMEBUCKET_SIZE h# 0 constant HTAG_SFMMUPSZ h# d constant HTAG_BSPAGE_SHIFT h# a constant HTAG_REHASH_SHIFT h# 3ff constant SFMMU_INVALID_SHMERID h# 3 ccould 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# Unhandled Exception 0x0000000000000008
PC = 0x0000000000000000 NPC = 0x0000000000000000
Stopping execution
qemu: fatal: Trap 0x0032 while trap level (5) >= MAXTL (5), Error state
pc: 00000000ffd04640  npc: 00000000ffd04644
%g0-3: 0000000000000000 00000000c40aaab5 00000000c3fb6875 00000000ffe11e38
%g4-7: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
%o0-3: 000001fe020003f8 000001fff0080886 0000000000000000 0000000000000000
%o4-7: 00000000ffeabc00 0000000000000000 00000000ffe812c1 000001fff000ccb8
%l0-3: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
%l4-7: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
%i0-3: 0000000000000000 0000030000f8de5d 0000000000000000 0000000000000002
%i4-7: 0000000000000012 00000000ffe8b000 00000000ffe81371 00000000ffd0c6c0
%f00:  0000000000000000 0000000000000000 0000000000000000 0000000000000000
%f08:  0000000000000000 0000000000000000 0000000000000000 0000000000000000
%f16:  0000000000000000 0000000000000000 0000000000000000 0000000000000000
%f24:  0000000000000000 0000000000000000 0000000000000000 0000000000000000
%f32:  0000000000000000 0000000000000000 0000000000000000 0000000000000000
%f40:  0000000000000000 0000000000000000 0000000000000000 0000000000000000
%f48:  0000000000000000 0000000000000000 0000000000000000 0000000000000000
%f56:  0000000000000000 0000000000000000 0000000000000000 0000000000000000
pstate: 00000015 ccr: 44 (icc: -Z-- xcc: -Z--) asi: 80 tl: 5 pil: 0
cansave: 7 canrestore: 0 otherwin: 0 wstate: 0 cleanwin: 7 cwp: 1
fsr: 0000000000000000 y: 0000000000000000 fprs: 0000000000000000

Abort trap

尝试 Solaris 11:

qemu-system-sparc64 -m 1024 -cdrom /tank/images/sol-11_2-text-sparc.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 Mar 12 2015 08:09
  Type 'help' for detailed information
Trying cdrom:f...
Not a bootable ELF image
Not a bootable a.out image

Loading FCode image...
Loaded 6636 bytes
entry point is 0x4000
Ignoring failed claim for va 1000000 memsz c107e!
Ignoring failed claim for va 1402000 memsz 5a6e0!
Ignoring failed claim for va 1800000 memsz 52240!

Jumping to entry point 00000000010071f8 for type 0000000000000001...
switching to new context: entry point 0x10071f8 stack 0x00000000ffe8aa09
'SUNW,UltraSPARC-IIi' is not supported by this release of Solaris.
EXIT
0 >

我尝试使用该-cpu help选项来查找支持的CPU,但无论我提供什么字符串,它都无法理解。

有人在 QEMU 下使用 sparc64 启动原始 Solaris 10 或 11 吗?我还应该尝试什么?

PS:不能选择购买 SPARC 硬件或模拟 32 位 SPARC 和古老的 Solaris 9 或更早版本或使用 Solaris x86。

答案1

不久前我自己一直在寻找这个问题,但不幸的是我没有成功使用带有 sparc64 的 QEMU 启动 Solaris 10(或 11)。阅读该页面后我停止尝试http://wiki.qemu.org/download/qemu-doc.html#QEMU-System-emulator-for-non-PC-targets第 4.3 节指出模拟器不可用,但可以引导某些内核。

答案2

Qemu-system-sparc64 只能使用自定义 BIOS(取自旧的 Sparc 工作站)成功引导和运行旧版本的 Solaris 6 或更低版本。当然,您可以尝试使用下一个版本,例如 Solaris 8 或 9 提醒一下,kvm 模块仅适用于 x86 架构,因此 Sparc 模拟会非常慢。 是一个很好的指南。

相关内容