Saturday, November 22, 2014

Solaris 9 under OpenBIOS

Together with Mark Cave-Ayland fixed a bug in OpenBIOS preventing Solaris 9 boot in a single user mode on sun4m. As it turned out, Sun relied on some undocumented behavior while walking though a device tree: calling the "child" function with a null argument is expected to produce the same result as calling it with a pointer to the root node.

So, in the next OpenBIOS release, it should be possible to boot Solaris 9 just like the versions 5.7 and 8 with just '-s' switch instead of '-b'.
Unfortunately my schedule rarely fits the QEMU-Release schedule, so this fix probably won't make it into the upcoming QEMU 2.2. release because of the code freeze. But for those, who are starting their day with 'git pull' the release schedule doesn't matter. ;-)

Stay tuned...

14 comments:

Anonymous said...

"If phandle is zero, sibling-phandle is the identifier of the root node."

-- IEEE 1275

atar said...

That's right, it is specified explicitly for the "peer" call in the section 6.3.2.2. But not for the "child" call, at least in the version I have.

Emmanuel Vdc said...

Sounds great.
Any chances for this to run as well on sun4u (sparc64)?

Thanks

atar said...

Haven't actually tested it, but not expecting any miracles: sun4u needs more work to be done.

Garrett D'Amore said...

I'm very very interested in getting illumos working under qemu/SPARCv9. I'm not very familiar with qemu though, and I'm having trouble booting from an install ISO. Any help much appreciated. email me garrett at damore dot org

atar said...

Hi Garrett, glad to see you here! I've sent you an email.

Anonymous said...

what about Solaris10?

atar said...

At the moment I don't have a customer or a sponsor for Solaris 10. It may change in 2015.

danny said...

Artyom,

Great work reviewing your postings, etc.

I am venturing into unknown lands and want to emulate a Solbourne S4000DX machine. They were said to be sun compliant, but there were some firmware issues which make them their own beast.

I know virtually nothing on how to proceed, and any suggestions would be appreciated.

Regards,

Danny
danny@missing.com

atar said...

@Danny, it's interesting project, but probably not easy to implement.

According to Wikipedia, these machines used Panasonic MN10501 CPUs. I could find virtually no info about this CPU. The discussion on the Wikipedia article implies this is a v7 compatible cpu, but there one post in comp.sys.sun.hardware says it is 64-bit CPU.

If it's a SPARCv7, I think hw/sparc/sum4m.c is the place to start.

Do you have some Solbourne specific software, or is it a just for fun project, if I may ask?

danny said...

I have an old BBS system I am trying to get back to life / keep going. It was implemented in OS/MP years and years ago. The founder passed away, and my sister inherited the board. She passed away a couple of years ago and we would like to see it move forward into the future.

atar said...

You can try launching the BBS Software for OS/MP under SunOS 4.1.4. If it works, you would be able to run it under vanilla QEMU without the need of a Solbourne emulation. I think there is a good chance the user space software for OS/MP is SunOS 4.x compatible.

danny said...

We know some aspects will run on Solaris, but some functionality of the software is lost (Clock doesn't work right and a few other things).

Gets us back online - but doesn't capture the spirit/experience of what it once was.

We are working on getting the disc's read at the moment to make an image, and I'm putting together another box from spares in the time being. I've also fired off a few emails to Panasonic to see what info (if any) I can get.

danny said...

My bad, not Solaris - SunOS.

Been a long day =)