Thanks to Artyom Tarasenko‘s tireless work on the Sparc MMU, DMA, SCSI It’s not possible to install some versions of Solaris, and boot others to single user mode!
Heck, even the NeXTSTEP 3.3 boot program goes ahead and loads up..
However this is all done without a graphical console, as the sparc rom’s dont understand the framebuffer that Qemu emulates…
qemu-system-sparc.exe -nographic -monitor null -serial mon:telnet:127.0.0.1:23,server -bios ..\ss5-170.bin -M SS-5 -m 256 -hda ..\solaris.disk -startdate “2009-12-13” -cdrom \temp\cd46.iso
Running it is something like this. The key here is the lines:
-nographic -monitor null -serial mon:telnet:127.0.0.1:23,server
Which setup a serial port console you can just telnet into (for us Windows users).
This gets around all the errors like this:
chardev: backend “stdio” not found
qemu: could not open serial device ‘mon:stdio’: Result too large
Sadly my SunOS cd doesn’t seem to want to boot, and I somehow saved a copy of Solaris 8, but not 6..? Sigh.
ok
ok boot cdrom -vb
Boot device: /iommu/sbus/espdma@5,8400000/esp@5,8800000/sd@6,0:d File and args:
-vb
Size: 259712+54162+47510 Bytes
SunOS Release 5.8 Version Generic_108528-13 32-bit
Copyright 1983-2001 Sun Microsystems, Inc. All rights reserved.
Ethernet address = 52:54:0:12:34:56
Using default device instance data
vac: enabled in write through mode
mem = 262144K (0x10000000)
avail mem = 258322432
root nexus = SUNW,SPARCstation-5
iommu0 at root: obio 0x10000000
sbus0 at iommu0: obio 0x10001000
dma0 at sbus0: SBus slot 5 0x8400000
dma0 is /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000
/iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000 (esp0):
esp-options=0x46
esp0 at dma0: SBus slot 5 0x8800000 sparc ipl 4
esp0 is /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000
sd6 at esp0: target 6 lun 0
sd6 is /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@6,0
root on /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@6,0:
b fstype ufs
obio0 at root
obio0 at obio0: obio 0x100000, sparc ipl 12
zs0 is /obio/zs@0,100000
obio1 at obio0: obio 0x0, sparc ipl 12
zs1 is /obio/zs@0,0
cpu0: FMI,MB86907 (mid 0 impl 0x0 ver 0x4 clock 1070 MHz)
# uname -aSunOS 5.8 Generic_108528-13 sun4m sparc SUNW,SPARCstation-5
#
Which is all cool. And check the CPU, 1070Mhz! Don’t we all wish we had SPARC’s that fast!
I’ve even managed to install OpenBSD/Sparc! … But it crashed on booting.
Anyways it’s late, and thats it for now.
Which SunOS didn't boot and with which options?
It says Solaris 1.1.2, and it's got the sparc logos on the cd case & the cd.
I did pick this CD up in Japan…. if that matters……
TYPE 49172300
OIR 16149825
The install instructions say "boot cdrom"…. so I modified vl.c to change the cdrom's index to #6 as I recall SUN's love cdroms on ID 6, and type in boot cdrom, and I get…
ok boot cdrom
Boot device: /iommu/sbus/espdma@5,8400000/esp@5,8800000/sd@6,0:d File and args
Short disk read
The file to boot may not be present
ok
ok
trying it as disk6 gets me this:
ok boot disk6
Boot device: /iommu/sbus/ledma@5,8400010/le@5,8c00000 File and args: disk6
Internal loopback test — Wrong packet length; expected 36, observed 64
Can't open boot device
You didn't read my how-to. 😉 For Solaris < 2.6 you need to plug cdrom image as a hdd, because it has a different sector size (or is it possible to tell cdrom the sector size=512bytes?). If you plug it as -hdb img.iso, boot with
boot disk1:d -vs
(it won't boot to the command prompt though due to problems with serial).
And just for the record, I'm not the only qemu-sparc developer. The guys did an excellent job before me – it was able to boot linux and some *BSDs already.
after a *LOT* of hexediting a sol9 cd i have it installing to a hard disk… lol who knows if it'll boot though.
A lot? I've managed it with just one byte ;-).
I changed
bootparams_find_and_mount_cdrom
to
manual_find_and_mount_cdrom
in the /sbin/rcS
then all the:
ifconfig -a plumb
ifconfig $1 plumb
to
ifconfig -a dlumb
ifconfig $1 dlumb
so it'd just fail but keep on going….
I mounted the swap thing up as you'd mentioned and overwrote the /etc/system file with:
set scsi_options=0x58
set scsi_reset_delay=10000
set tmpfs:tmpfs_minfree=1
set swapfs_minfree=0x040
And much to my amazement it'll boot, pick up the root then odly hangs with:
syslog service starting.
Running in command line mode
And seems to just… go away. Control C&Z don't do anything…
I had the same problem where it hangs in boot. To solve the problem, I went back in and disabled the syslog service. After that it booted up all happy form the disk image.
Specifically I did this:
ok boot disk2:d -vs
...
mount /dev/dsk/c0t0d0s2 /a
cd /a/etc/init.d
vi syslogd
Then commented out the line under the start case
I also added:
echo "syslog disabled"
after the commented line.or I believe you can also remove the link to syslogd like this:
rm /etc/rc2.d/S74syslog
but I didn’t try it that way.
I managed to run Solaris 9 with boot disk2:d -vb and boot disk2:d -vs. However, when i do disk2:d, the system loads until the terminal type menu.
What type of terminal are you using?
1) ANSI Standard CRT
2) DEC VT52
3) DEC VT100
4) Heathkit 19
5) Lear Siegler ADM31
6) PC Console
7) Sun Command Tool
8) Sun Workstation
9) Televideo 910
10) Televideo 925
11) Wyse Model 50
12) X Terminal Emulator (xterms)
13) CDE Terminal Emulator (dtterm)
14) Other
Type the number of your choice and press Return: 3
syslog service starting.
savecore: no dump device configured
Running in command line mode
And nothing happens after that. Anyone encountered this issue?
No, what version of qemu?
I am using qemu version 2.5. I also tried solaris 8. appears to have stuck after that. 🙁
Qemu version 2.5. I tried solaris 8 too. Same issue 🙁
Try an older version, qemu is more of a sliding window of compatibility not an expanding base of compatibility. 2010 is the old 0.9,0.10,0.11,0.12, and 0.13 days.
the 1.x stuff has pretty good sparc and early 2.0.
Hello,
I have a .dd image of a faulty Sun SPARC workstation HDD. I want to know how can I run it on a virtual workstation (qemu, virtualbox or vmware).
Thank you
qemu probably. you may have to know what kind of disk it was to get the physical geometry, and pass it into Qemu. And of course it depends on what kind of SPARC…
The workstation is a Sun Blade 1500, with a Ultrasparc IIIi 1.503 GHz, 2GB ECC RAM. SunOS 5.10. The disk seems to have a linux filesystem. (I’m a Windows user and just starting to learn about Solaris/Linux).
Thank you
the filesystem doesn’t matter, but an UltraSparc isn’t a regular sparc. Those are the 64bit variations, which as far as I know are not emulated.
You’d have to pay someone to make those kinds of changes, but it’s lightyears beyond my feeble capabilities.
the filesystem is ufs