I had a similar situation and documented it here :
http://kb.networksystemssolutions.info/index.php/Sparc_Virtualization
It was for a Sparc-20 with Solaris 2.6.
It's kind of hit or miss at times and seems to require particular CPU
settings in my experience. I had the advantage of being able to image
the disk and clean it up on a Linux box but you may not be so fortunate.
If you need keyboard handling, my personal approach would be to either
use telnet if you can get away with text only (but for CAD/CAM, that's a
non-starter).
For graphics, I'd set up an X terminal and log on remotely via that and
run the VM in the background with the network bridged into the main
network, so it will respond the XDM queries.
I cheated with NVRAM and fiddled with the source for what I wanted, but
I believe it may be possible to pass some NVRAM contents (but I don't
recall if I read that at a forgotten link or if it was just wishful
thinking on my part).
I never had any success with Sun Intel based boxes - the QEMU hardware
emulation layout is all IDE based and my physical boxes were all SCSI,
so the emulation crashed and burned on boot.
SPARC emulation is good for some configs and a total failure for
others. I spend weeks trying to work round the failure cases with no
success. There seem to be just too few people using it, for there to be
significant progress.
Jim
On 07/09/2015 22:28, Maximilian Heise wrote:
Hello Everybody,
my name is Max, I have been using qemu for Intel processors before, but
not for old SUN Sparc machines before.
One of my SS20s, which are running a old but perfectly working custom
CAD/CAM/CIM solution recently had a harddrive failure. I have backups
and installation media, so no big deal. However that hard drive failure
prompted me to google if there was a way to run Solaris with version 2.7
or 1.1.2 inside an emulator.
To my great surprise I found an explanation on howto install SunOS 4.1.4
and it worked after I compiled a new qemu version myself. Some further
googling showed me how to load the original cg3 firmware and now I even
have X11 up and running in 1152x900.
http://imagebin.ca/v/2Ert5b6VRnPl <= Screenshot of the openwin/X11
desktop in qemu
My shell script currently contains this:
#!/bin/bash
QEMU_SYSTEM_SPARC=/home/user/programs/qemu/qemu-2.4.0/sparc-softmmu/qemu-system-sparc
OBP_ROM=/home/user/data/qemu-sparc/sun_sparc_rom_obp/ss5.bin
SYSTEM_DISK_IMAGE=/home/user/data/qemu-sparc/sunos414.img
${QEMU_SYSTEM_SPARC} -monitor tcp::4444,server,nowait \
-L "$PWD" \
-name vm-idefix \
-k de \
-M SS-5 \
-bios "$OBP_ROM" \
-m 128 \
-vga cg3 \
-g 1152x900 \
-net nic \
-drive
file="$SYSTEM_DISK_IMAGE",media=disk,if=scsi,bus=0,unit=3
What I noticed while doing this 4.1.4 install on
qemu-system-sparc+questions:
1. There is a cdrom device appearing in qemu out of nowhere, where does
it come from and how do I disable it ? It is on scsi id 2, which is
wrong for SunOS 4.1.4 and I did not enable it myself.
http://imagebin.ca/v/2ErsOVlZjbK6 <- Screenshot of probe-scsi in OBP.
2. The installation as described here:
https://en.wikibooks.org/wiki/QEMU/SunOS_4.1.4 works, but is a bit
painful because qemu's cdrom driver probably has the wrong blocksize of
512 and not 2048 bytes, line SunOS 4 required it to be and because the
wrong scsi ids are used.
So is there a way to configure the blocksize of a device somewhere ? How
is this done for 512 and 4k discs for example ?
Because if I start the installation with these lines:
-drive file="$SYSTEM_DISK_IMAGE",media=disk,if=scsi,bus=0,unit=3 \
-drive file="$INSTALL_MEDIA_IMAGE",media=cdrom,if=scsi,bus=0,unit=6
Then the scsi ids are right for installing SunOS 4.1.4. Because of this
blocksize problem however one has to use the cdrom as a disk at the
moment or it will not work.
3. How do I set the bloody keymap ?
-k de
does not work for me. I have a German keyboard on my laptop and desktop,
but qemu still gives me an English layout no matter if I use "-k de" or not.
4. The SS5 was suggested in the installation guide, could anybody
comment on how well the SS20 works for example with qemu-system-sparc ?
5. How can I save nvram content in qemu-system-sparc between
power-cycles ? Is there a way ?
BR
Max.
----------------------------------------------------------------------
All e-mail and telephone communications are subject to Suresafe Terms
And Conditions and may be monitored, recorded and processed for the
purposes contained therein and adherence to regulatory and legal
requirements.
Your further communication or reply to this e-mail indicates your
acceptance of this.
Any views or opinions expressed are the responsibility of the author
and may not reflect those of Suresafe Protection Limited.
Suresafe Protection Limited is registered in Scotland, number SC132827
The registered office is at 8 Kelvin Road, Cumbernauld, G67 2BA.
Telephone: 01236 727792 Fax: 01236 723301 VAT Number: 556 6950 02