Solaris
在 qemu-system-sparc64 中為 Sparc 引導 Solaris 10 或 11
我正在嘗試使用 SPARC 引導 Solaris 10 或 Solaris 11,
qemu-system-sparc64
但在早期一直遇到問題。我使用的是 DVD 映像sol-10-u11-ga-sparc-dvd.iso
,sol-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 不是一種選擇。
前段時間我一直在尋找這個,但不幸的是,我沒有成功使用帶有 sparc64 的 QEMU 啟動 Solaris 10(或 11)。在閱讀頁面http://wiki.qemu.org/download/qemu-doc.html#QEMU-System-emulator-for-non-PC-targets第 4.3 節後我停止嘗試,該頁面指出模擬器不可用但可能會啟動一些核心。
Qemu-system-sparc64 將僅使用自定義 BIOS(取自舊 Sparc 工作站)成功引導和執行舊版本的 Solaris 6 或更低版本。當然你可以嘗試下一個版本,比如 Solaris 8 或 9 提醒 kvm 模組僅適用於 x86 架構,所以 Sparc 仿真會非常慢。 這是一個很好的查看方法。