[OpenBIOS] Solaris 9: failed boot with strange device names

Mark Cave-Ayland mark.cave-ayland at siriusit.co.uk
Mon Aug 16 11:02:50 CEST 2010

Tarl Neustaedter wrote:

> Oh. I didn't notice the lack of colon.
> No, you can't just split on a comma, that's a legitimate part of either 
> the name or unit address. That should be:
> disk@<unit>:|foo|dev
> Both the nodename and unit address are allowed the have commas (e.g., 
> "QLGC,isptwo" is the name of a SCSI adapter from Qlogic, and "@0,1" 
> means target zero, unit 1).
> The question is why are you missing both the unit address and the colon 
> separator for the argument. The right answer is to make sure you're 
> following the path resolution in section 4.3.1 in 1275.

Actually I've now realised that we already have a work around for this. 
For OpenSolaris debugging, I've normally been invoking boot like this:

boot cdrom -H

...which has always worked fine. However, the latest rework to the 
bootargs parameter code now explicitly gives a slice during boot and so 
it will actually work when not being debugged! Hence what I need to do 
is actually this:

boot cdrom:f -H

This now calls my new code and I can attach the debugger to the "open" 
method in ufs-file-system - but for some reason it crashes in the I/O 
code called from deblocker when "read" is invoked.

I also think there is something else strange going on with the emulation 
in Qemu. If I use my disk image for a debugging session, it works fine. 
However if I attempt to use a Solaris 9 install CD image with the 
same-size Fcode block then I get all sorts of strange Forth errors such 
as failing to find the "do-boot" word. This suggests there is something 
not right with the memory management or I/O somewhere :(



Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
t: +44 870 608 0063

Sirius Labs: http://www.siriusit.co.uk/labs

More information about the OpenBIOS mailing list