Friday, July 17, 2009

Looks like the OpenBIOS doesn't recognize Solaris boot sector:


Configuration device id QEMU version 1 machine id 32
UUID: 00000000-0000-0000-0000-000000000000
CPUs: 1 x FMI,MB86904
Welcome to OpenBIOS v1.0 built on Jul 5 2009 17:37
Type 'help' for detailed information

[sparc] Booting file 'cdrom' with parameters ''
Trying cdrom (/iommu/sbus/espdma/esp/sd@2,0)
Not a bootable ELF image
Not a Linux kernel image
Not a bootable a.out image
Trying cdrom:d (/iommu/sbus/espdma/esp/sd@2,0:d)
Not a bootable ELF image
Not a Linux kernel image
Loading a.out image...
Loaded 7680 bytes
entry point is 0x4000
Jumping to entry point...
bootblk: can't find the boot program
halt, power off

4 comments:

Unknown said...

Hi Artyom!
Tried to do the same for last couple of days without any luck. Could not boot neither Solaris7 nor Solaris8. :( I'm not really sure, but to me it looks like OpenBios does not recognize SunOS slices on CDROMs and tries to boot from the a wrong one. I may be wrong though...
Btw, are you still trying to make it work or gave up?

Thanks,
Victor

atar said...

Hi Victor,

have you tried to read the blog further? :)

Not only that I tried it, I've also succeeded to boot Solaris 2.5.1 - 7. Not with the OpenBIOS though, only with the original OBP.

The OpenBIOS does recognize SunOS slices. The problem here was (surprise-surprise) a CPU bug. But there are some other problems in OpenBIOS, for example the NVRAM layout is very probably not compatible with Solaris (it's definitely not compatible with the OBP).

There are still some bugs in the timer/irq handling which preventing a full Solaris 9 boot. Working on it, but not this weekend.

Unknown said...

I did read your article about OBP, but I thought it was not successful, sorry. I will re-read your blog again.

Thanks much for sharing your experience with others!

P.S. You're da man if you managed to work around those CPU bugs and all other stuff. :)

atar said...

yeah, it was a long saga. To make OBP work I had to fix multiple bugs in SCSI (all fixes except the last one are already in git), small bugs in irq, etc., plus use some ugly hacks for the bugs I can not fix. And after I got OBP working it still didn't boot Solaris. I had to go trough the whole chain once again: disk -> controller -> dma -> memory -> ... . I started suspecting CPU, but wouldn't find the bug myself. Mitch Bradley (the OBP author) found it, and then I fixed it. Just read further if you would like to know more.