[OpenBIOS] Sparc64 OpenBIOS

Mark Cave-Ayland mark.cave-ayland at siriusit.co.uk
Sun Nov 15 22:01:35 CET 2009

Nick Couchman wrote:

> I assume this is the point where I really need the debugger and the breakpoints so that I can step through the rest of the boot process piece-by-piece.
> -Nick

Yeah. I actually started on trying to get a Solaris 9 image to boot 
under Qemu at the beginning of the year, which resulted in several fixes 
to the Fcode evaluator so that it can now load the Forth bytecode 
successfully. At this point, I realised that I then needed a Forth 
debugger before I could continue any further, hence the recent debugging 
patches to the list.

So, I took a deep breath and used the debugger to step through the boot 
process of a SPARC64 Milax CD image to see what was happening:

: read-disk  ( 8002000 800 8000 ffe4adc8 )
00000000ffe32458: dup  ( 8002000 800 8000 ffe4adc8 ffe4adc8 )
00000000ffe32460: >r  ( 8002000 800 8000 ffe4adc8 )
00000000ffe32468: 0  ( 8002000 800 8000 ffe4adc8 0 )
00000000ffe32470: swap  ( 8002000 800 8000 0 ffe4adc8 )
00000000ffe32478: cif-seek  ( 8002000 800 ffffffffffffffff )
00000000ffe32480: do?branch  ( 8002000 800 )
00000000ffe32490: (")  ( 8002000 800 ffe324a0 b )
00000000ffe324b0: die
seek failed

Can't mount root

It's fairly obvious to see that the seek is failing since it returns -1. 
But which device is it failing on?

0 > dev-ih ihandle>phandle u. ffe2b830  ok
0 > show-devs
ffe2b830 /packages/misc-files

This implies that it is the seek in /packages/misc-files which is 
failing, although I'm not really sure at the moment why the read-disk 
word (which is part of the Milax bootloader) isn't trying to seek on 
/packages/hsfs-file-system instead?



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