Subject: Re: 1.6 miniroot won't boot
To: None <eeh@netbsd.org>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: port-sparc64
Date: 06/07/2002 18:37:57
On Fri, Jun 07, 2002 at 04:24:28PM -0000, eeh@netbsd.org wrote:
>
> | On Fri, Jun 07, 2002 at 03:48:14PM -0000, eeh@netbsd.org wrote:
> | > So you get the stack dump during the trace? Neat!
> | >
> | > | buf-read-file
> | > |
> | > | and here it hangs.
> | >
> | > I'm surpised debug isn't on in all the children as well. Could you
> | > try turning debug on in buf-read-file as well?
> |
> | Here it is:
> | ok boot disk0:b -DV
> | Boot device: /sbus/espdma@e,8400000/esp@e,8800000/sd@0,0:b File and args: -DV
> | The file just loaded does not appear to be executable.
> | ok debug buf-read-file
> | Stepper keys: <space> Down Up Continue Forth Go Help ? See $tring Quit
> | ok " /ofwboot" do-boot
> | NetBSD IEEE 1275 Bootblock
> | Loading file /ofwboot
> | from device /sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@0,0:b
> | ufs-open complete
> | .Looking for ofwboot in directory...
> | : buf-read-file ( 2 fffebca9 0 fffebca2 7 fff7bff0 )
> | cur-offset ( 2 fffebca9 0 fffebca2 7 fff7bff0 0 )
> | swap ( 2 fffebca9 0 fffebca2 7 0 fff7bff0 )
> | 2dup ( 2 fffebca9 0 fffebca2 7 0 fff7bff0 0 fff7bff0 )
> | blkoff ( 2 fffebca9 0 fffebca2 7 0 fff7bff0 0 )
> | -rot ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 )
> | 2dup ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 0 fff7bff0 )
> | lblkno ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 0 )
> | swap ( 2 fffebca9 0 fffebca2 7 0 0 0 fff7bff0 )
> | 2dup ( 2 fffebca9 0 fffebca2 7 0 0 0 fff7bff0 0 fff7bff0 )
> | cur-inode ( 2 fffebca9 0 fffebca2 7 0 0 0 fff7bff0 0 fff7bff0 fff73f60 )
> | swap ( 2 fffebca9 0 fffebca2 7 0 0 0 fff7bff0 0 fff73f60 fff7bff0 )
> | dblksize ( 2 fffebca9 0 fffebca2 7 0 0 0 fff7bff0 800 )
> | rot ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 0 )
> | dup ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 0 0 )
> | cur-blockno ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 0 0 60 )
> | l<> ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 0 ffffffffffffffff )
> | l->n ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 0 ffffffffffffffff )
> | if ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 0 )
> | block-map ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 51 )
> | dup ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 51 51 )
> | l0= ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 51 0 )
> | l->n ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 51 0 )
> | if ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 51 )
> | 2dup ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 51 800 51 )
> | sb-buf ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 51 800 51 fff7bff0 )
> | fsbtodb ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 51 800 144 )
> | cur-block ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 51 800 144 fff73ff0 )
> | -rot ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 51 fff73ff0 800 144 )
> | strategy ( 2 fffebca9 0 fffebca2 7 0 0 fff7bff0 800 51 0 )
>
> Hm... All strategy does is try to read a single block from the disk.
> It's trying to read 0x800 bytes from 0x144 blocks in and deposit the
> results at address fff73ff0. It returns the amount read, which in this
> case is 0, so it failed. Could you try to debug strategy? It appears
> that the read operation on the disk is not succeeding.
No problems, here it is:
Rebooting with command: boot disk0:b -DV
Boot device: /sbus/espdma@e,8400000/esp@e,8800000/sd@0,0:b File and args: -DV
The file just loaded does not appear to be executable.
ok debug strategy
Stepper keys: <space> Down Up Continue Forth Go Help ? See $tring Quit
ok " /ofwboot" do-boot
NetBSD IEEE 1275 Bootblock
Loading file /ofwboot
from device /sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@0,0:b
ufs-open complete
.
: strategy ( fffe6809 fffebca1 8 2 2 fffadff0 fff97ff0 4000 fff97ff0 4000 60 )
raid-offset ( fffe6809 fffebca1 8 2 2 fffadff0 fff97ff0 4000 fff97ff0 4000 60 0 )
+ ( fffe6809 fffebca1 8 2 2 fffadff0 fff97ff0 4000 fff97ff0 4000 60 )
bsize ( fffe6809 fffebca1 8 2 2 fffadff0 fff97ff0 4000 fff97ff0 4000 60 200 )
* ( fffe6809 fffebca1 8 2 2 fffadff0 fff97ff0 4000 fff97ff0 4000 c000 )
0 ( fffe6809 fffebca1 8 2 2 fffadff0 fff97ff0 4000 fff97ff0 4000 c000 0 )
" seek" ( fffe6809 fffebca1 8 2 2 fffadff0 fff97ff0 4000 fff97ff0 4000 c000 0 f007a565 4 )
boot-ihandle ( fffe6809 fffebca1 8 2 2 fffadff0 fff97ff0 4000 fff97ff0 4000 c000 0 f007a565 4 fffad940 )
$call-method ( fffe6809 fffebca1 8 2 2 fffadff0 fff97ff0 4000 fff97ff0 4000 0 )
-1 ( fffe6809 fffebca1 8 2 2 fffadff0 fff97ff0 4000 fff97ff0 4000 0 ffffffffffffffff )
l= ( fffe6809 fffebca1 8 2 2 fffadff0 fff97ff0 4000 fff97ff0 4000 0 )
l->n ( fffe6809 fffebca1 8 2 2 fffadff0 fff97ff0 4000 fff97ff0 4000 0 )
if ( fffe6809 fffebca1 8 2 2 fffadff0 fff97ff0 4000 fff97ff0 4000 )
" read" ( fffe6809 fffebca1 8 2 2 fffadff0 fff97ff0 4000 fff97ff0 4000 f007a5b5 4 )
boot-ihandle ( fffe6809 fffebca1 8 2 2 fffadff0 fff97ff0 4000 fff97ff0 4000 f007a5b5 4 fffad940 )
$call-method ( fffe6809 fffebca1 8 2 2 fffadff0 fff97ff0 4000 4000 )
;
Looking for ofwboot in directory...
: strategy ( fffe6809 2 fffebca9 0 fffebca2 7 0 0 fffadff0 800 51 fff97ff0 800 144 )
raid-offset ( fffe6809 2 fffebca9 0 fffebca2 7 0 0 fffadff0 800 51 fff97ff0 800 144 0 )
+ ( fffe6809 2 fffebca9 0 fffebca2 7 0 0 fffadff0 800 51 fff97ff0 800 144 )
bsize ( fffe6809 2 fffebca9 0 fffebca2 7 0 0 fffadff0 800 51 fff97ff0 800 144 200 )
* ( fffe6809 2 fffebca9 0 fffebca2 7 0 0 fffadff0 800 51 fff97ff0 800 28800 )
0 ( fffe6809 2 fffebca9 0 fffebca2 7 0 0 fffadff0 800 51 fff97ff0 800 28800 0 )
" seek" ( fffe6809 2 fffebca9 0 fffebca2 7 0 0 fffadff0 800 51 fff97ff0 800 28800 0 f007a565 4 )
boot-ihandle ( fffe6809 2 fffebca9 0 fffebca2 7 0 0 fffadff0 800 51 fff97ff0 800 28800 0 f007a565 4 fffad940 )
$call-method ( fffe6809 2 fffebca9 0 fffebca2 7 0 0 fffadff0 800 51 fff97ff0 800 0 )
-1 ( fffe6809 2 fffebca9 0 fffebca2 7 0 0 fffadff0 800 51 fff97ff0 800 0 ffffffffffffffff )
l= ( fffe6809 2 fffebca9 0 fffebca2 7 0 0 fffadff0 800 51 fff97ff0 800 0 )
l->n ( fffe6809 2 fffebca9 0 fffebca2 7 0 0 fffadff0 800 51 fff97ff0 800 0 )
if ( fffe6809 2 fffebca9 0 fffebca2 7 0 0 fffadff0 800 51 fff97ff0 800 )
" read" ( fffe6809 2 fffebca9 0 fffebca2 7 0 0 fffadff0 800 51 fff97ff0 800 f007a5b5 4 )
boot-ihandle ( fffe6809 2 fffebca9 0 fffebca2 7 0 0 fffadff0 800 51 fff97ff0 800 f007a5b5 4 fffad940 )
$call-method ( fffe6809 2 fffebca9 0 fffebca2 7 0 0 fffadff0 800 51 0 )
;
ok
I guess $call-method jumps into OFW ?
BTW, is 0x144 a block offset from the start of the disk ? In which unit is it ?
My partition table is :
a: 3073440 0 4.2BSD 1024 8192 16 # (Cyl. 0 - 2021)
b: 1080720 3073440 4.2BSD 1024 8192 16 # (Cyl. 2022 - 2732)
c: 4152640 0 unknown # (Cyl. 0 - 2731)
0x144 is 324 in decimal, and if it's inside the b partition I can't see
which unit it is ...
--
Manuel Bouyer, LIP6, Universite Paris VI. Manuel.Bouyer@lip6.fr
NetBSD: 23 ans d'experience feront toujours la difference
--