Saturday, March 6, 2010

Testing needed

While I'm busy with rewriting my Solaris 7 hack (which is also needed for Solaris 8 and 9), I'm looking for some help: I'd like to expore the y2k10 problem under qemu. Carey couldn't reproduce the problem on a real SPARCStation, so it may be a qemu nvram bug.
Currently needed /etc/system hack seems to be also nvram-related.

So, what I'm asking for:
boot Solaris 2.0 - 2.5.1 image with qemu option -rtc base=<dateTtime> where dateTtime is a string like  "2006-06-22T16:01:21". Try different dates and times. I.e:
 
./qemu-system-sparc -M SS-5 -m 256 -rtc base=2009-12-22T16:01:21
 -L  -bios ss5.bin -nographic  -hdb Solaris2.5.1.iso
...
ok boot disk1:d -vs 
 
Currently it looks like the system doesn't come up if the day of month is >20. 
At least for years 2009 and 2010.
 
The question is: do year, month, hours and seconds also play a role?
I.e. is it possible to boot when day is 22, with any year?
Is it not possible to boot when day is 22 and year is 2010 with any
month, hour and minutes settings?
 
Waiting for your feedback (you can write in English, German or Russian).

11 comments:

Guus said...

Hello Artyom,

I cannot reproduce any date/time dependency using Solaris 2.4 (SunOS Release 5.4 Version generic [UNIX(R) System V Release 4.0]).

I start with e.g.:
./qemu-system-sparc -M SS-5 -m 256 -rtc base=2010-12-31T19:59:59 -L . -bios ss5.bin -nographic -hdb Solaris_2.4.iso

I get a lot of messages but seem to be able to boot after manual input of "init 3" (I stopped testing after the "What type of terminal" question). These messages seem identical independant of the date and time:
...
zs1 is /obio/zs@0,0
Unable to install/attach driver 'vme'
Unable to install/attach driver 'mcp'
Unable to install/attach driver 'mcpzsa'
Unable to install/attach driver 'vme'
Unable to install/attach driver 'mcp'
Unable to install/attach driver 'mcpzsa'
Unable to install/attach driver 'stc'
Configuring the /devices directory
Unable to install/attach driver 'tcx'
Unable to install/attach driver 'bwtwo'
Unable to install/attach driver 'cgthree'
Unable to install/attach driver 'isp'
Unable to install/attach driver 'st'
Unable to install/attach driver 'fd'
Unable to install/attach driver 'cgsix'
ledma0 at sbus0: SBus slot 5 0x8400010
le0 at ledma0: SBus slot 5 0x8c00000 sparc ipl 6
le0 is /iommu@0,10000000/sbus@0,10001000/ledma@5,8400010/le@5,8c00000
Unable to install/attach driver 'vme'
Unable to install/attach driver 'ipi3sc'
Unable to install/attach driver 'id'
Unable to install/attach driver 'vme'
Unable to install/attach driver 'vmemem'
sbusmem0 at sbus0: SBus slot 0 0x0
sbusmem0 is /iommu@0,10000000/sbus@0,10001000/sbusmem@0,0
sbusmem1 at sbus0: SBus slot 1 0x0
sbusmem1 is /iommu@0,10000000/sbus@0,10001000/sbusmem@1,0
sbusmem2 at sbus0: SBus slot 2 0x0
sbusmem2 is /iommu@0,10000000/sbus@0,10001000/sbusmem@2,0
sbusmem3 at sbus0: SBus slot 3 0x0
sbusmem3 is /iommu@0,10000000/sbus@0,10001000/sbusmem@3,0
sbusmem4 at sbus0: SBus slot 4 0x0
sbusmem4 is /iommu@0,10000000/sbus@0,10001000/sbusmem@4,0
sbusmem5 at sbus0: SBus slot 5 0x0
sbusmem5 is /iommu@0,10000000/sbus@0,10001000/sbusmem@5,0
Unable to install/attach driver 'xbox'
NOTICE: SBus clock frequency out of range.

Unable to install/attach driver 'bpp'
Unable to install/attach driver 'pn'
Unable to install/attach driver 'lebuffer'
Unable to install/attach driver 'leo'
Unable to install/attach driver 'cgeight'
Unable to install/attach driver 'ipi3sc'
Unable to install/attach driver 'xbox'
Unable to install/attach driver 'vme'
Unable to install/attach driver 'mcp'
Unable to install/attach driver 'vme'
Unable to install/attach driver 'mcp'
Unable to install/attach driver 'mcpzsa'
Unable to install/attach driver 'vme'
Unable to install/attach driver 'mcp'
Unable to install/attach driver 'mcpp'
Unable to install/attach driver 'sx'
Unable to install/attach driver 'cgfourteen'
Unable to install/attach driver 'sx_cmem'
Unable to install/attach driver 'stc'
Unable to install/attach driver 'isp'
Unable to install/attach driver 'qec'
Unable to install/attach driver 'qe'
Unable to install/attach driver 'be'
pseudo-device: llc10
llc10 is /pseudo/llc1@0
Unable to install/attach driver 'soc'
Unable to install/attach driver 'soc'
Unable to install/attach driver 'pln'
Unable to install/attach driver 'soc'
Unable to install/attach driver 'pln'
Unable to install/attach driver 'ssd'
Configuring the /dev directory
\
INIT: SINGLE USER MODE
# init 3

I hope that this helps you in some way.

Guus

atar said...

Guus, thanks a lot!
The result is confusing though.

With your rtc base date 2.5.1 hangs after
zs1 is /obio/zs@0,0

At least it didn't get any further after 2 hours of waiting. Lucag confirmed the bug with Solaris 2.4. (in comments to the "how-to" post)

What version of ss5.bin do you have? What is your host? What patchlevel is your Solaris 2.4?

Guus said...

Hello Artyom,

I run Qemu in a VMWare Player with Ubuntu 9.10 installed. I know it is a strange system. The reason is that I did not manage to create a workable Windows version of Qemu ("-nographic" seems to be unsupported).

For me the date/time does not seem to have any influence: I've tried "1998-01-01T01:01:01" as well with identical results.

I'm not sure about the Solaris and ss5.bin version. This is what I do know:
Solaris says during the boot:
SunOS Release 5.4 Version generic [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1994, Sun Microsystems, Inc.

The ss5.bin is from http://home.earthlink.net/~reif and says during the boot:
ROM Rev. 2.15, 256 MB memory installed, Serial #0.

I use the git version of Qemu dated March 5 2010.

For me it's seconds after "zs1 is /obio/zs@0,0". I did not mention an extra message after "Vendor 'QEMU', product 'QEMU'..." (so before "zs1..."):
Unable to install/attach driver 'isp'

I'm not very familiar with Solaris so I might be doing something strange. At the moment I'm trying to install Solaris 2.4.
I tried Solaris 2.6 first but after installation I could not reach runtime level 3. Runtime level 2 did work occassionaly.

Coming to think of it: the system clock on the VMWare guest was always too fast (about 1.3x). It might be related, it might not be related.

Guus

atar said...

Hello Guus,

btw, have you written about "-nographic" windows troubles to the mailing list? Usually such bugs are promptly fixed.

Guus said...

Hi Artyom,

I did not send the "nographic" problem to the mailing list.

I believe that "-nographic" is unsupported in Windows due Windows limitations (check e.g. qemu-forum.ipi.fi/viewtopic.php?f=5&t=4942). I just checked the QEMU User Documentation but couldn't find this limitation so I might be wrong. It is just a fact of life that Qemu is better supported on Linux than on Windows, partly because of Windows limitations, partly because of personal preferences of the developers. This is understandable: Qemu already supports many guest systems, many host systems and many ways to allow interaction between e.g. host and guest. And it's all for free.

Anyhow, I did not use the "-nographic" option under Windows. I did see the boot messages in the serial port virtual console (Control-Alt-3) but key presses were not accepted here.
It looks like key presses on the target system display (Control-Alt-1) are seen but corrupted. I tried some "sendkey" commands on the monitor display (Control-Alt-2) but that didn't seem to work either.
Besides I noticed that you use "-nographic" consistently.
This was just taking too long to bother. I already had a Linux virtual machine and simply used that.

Guus

atar said...

Guus, can you try it under Windows as described here? It's the perfect way to check whether VMWare is interfering.

Guus said...

Hi Artyom,

I did not have luck for some reason.
I tried SDL 1.2.14 and SDL 1.2.4 and the March 5 git Qemu.

I think the SDL configure option "--disable-stdio-redirect" is quite important. I tried both stdio-redirect enabled (default) and disabled but to no avail.

I'll try again later since atm I don't have much time to do a proper and structured test.

I've tried my Linux binary on a real Linux PC but I did not see any date/time dependency there either. Tested with Solaris 2.4. I don't think VMware is to blame.

For me personally I'm fine already: the Solaris programs I use are used very infrequently except for one compiler suite which does run happily on Qemu/NetBSD-Sparc.
The current Solaris burdens (e.g. non-functioning network card) are acceptable.

I owe you much. A big thank you.

I'll send you a report if I get Solaris running on Windows.

Guus

P.S. Currently I'm using Solaris 2.4 with all recommended patches mentioned in ftp://ftp.lanet.lv/pub/sun-info/sun-patches/public_patch_report.

atar said...

Guus,

I'm glad it's working for you, but what do you mean by "non-functioning network card"? The network card is working, unless you mean booting from the net.

Don't know anything about SDL configure options: I just took the compiled version which comes with cygwin.

Thanks for the patch link! I didn't know the patches for old Solaris versions are still publicly available.

But I think that's also the reason why you don't hit the bug: I use the install cd with no patches to reproduce it.

And in my environments Solaris 2.5.1 hangs both on linux64 and windows32 hosts.

P.S. if you can somehow provide me the 2.4 install cd, I can test it myself.

Guus said...

Hi Artyom,

Aha, you are using Cygwin. That might explain it. I always build SDL and Qemu using MinGW.
I'll check further later, promise.

For my Solaris 2.4 the network card does not and never did function at all. It is probably related to the whole bunch of boot messages written in my first mail in this thread.

I have a dummy e-mail address, gjansman1 at hotmail.com.
Contact me there and we'll work something out to get the install CD to you.

Guus

atar said...

I'm using mingw too, but the one which is bundled with cygwin. At the end I get a windows executable, not cygwin one.
The messages seem to be harmless (except, maybe 'lebuffer', don't know what it it). This devices are not emulated. The network driver is called 'le', at least in 2.6+.

atar said...

The network seems to be ok:
...
Unable to install/attach driver 'ssd'
Configuring the /dev directory
/
INIT: SINGLE USER MODE

# ifconfig le0 10.0.2.15 netmask 255.255.255.0 up
# ping 10.0.2.2
10.0.2.2 is alive
#