[...]
I also figured out that for some of the words to become available I have to actually execute a real boot - not sure why.
The primary booter you are reading from blocks 1-15 of the boot partition create a bunch of words (most importantly, do-boot). It also creates a package, probably /package/hsfs-file-system
Here's the output from "do-boot" once I turn on debugging for Solaris Nevada B127:
0 > do-boot : do-boot ( Empty ) 00000000ffe388e8: parse-bootargs ( Empty ) 00000000ffe388f0: halt? ( 0 ) 00000000ffe388f8: do?branch ( Empty ) 00000000ffe38948: get-bootdev ( Empty ) 00000000ffe38950: load-pkg ( Empty ) 00000000ffe38958: mount-root seek failed
Can't mount root Aborted. 0 >
Again, not sure why it can't mount-root, but that seems to be the issue.
Yup. The seek failed indicates it wasn't able to read something it needed to read. So the next step is to do the above, only instead of calling mount-root, figure out what mount-root has in it, and execute those one-by-one at the ok prompt. Or use the debugger to single step through it.
Somewhere in there either you are coming up with some bad disk addresses, or the HBA driver is failing a read. The alternative would be to debug the HBA driver and see what disk reads you are being asked to do, and try to trace backwards.