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/10/2002 20:08:27
On Mon, Jun 10, 2002 at 05:57:04PM -0000, eeh@netbsd.org wrote:
> Hm.  Let me see if I fully understand what's going on:
> 
> 1) the bootblock fails on the miniroot (partition `b') but not
> a normal root (partition `d').
> 
> 2) If you mount partition `b', run newfs, untar, installboot, etc.
> you can boot from it.
> 
> 3) In both instances the disklabel has partition `b' labelled as
> `swap'.

Yes. I also tried to change it to 4.2BSD

> 
> O.K.  That definitely sounds like an incompatibility between
> the bootblock and makefs.  I will need to look into this some
> more to see what the difference is between something generated
> by vnd/newfs and makefs.

I played with fsdb a bit. In the working case the root inode is:
I=2 MODE=40755 SIZE=512
        MTIME=Jun 10 11:49:26 2002 [948311000 nsec]
        CTIME=Jun 10 11:49:26 2002 [948311000 nsec]
        ATIME=Jun 10 11:47:34 2002 [546215000 nsec]
OWNER=root GRP=wheel LINKCNT=16 FLAGS=0x0 BLKCNT=0x2 GEN=0x0
fsdb (inum: 2)> blks
I=2 1 block 
Direct blocks:
0: 496 

In the miniroot it is:
fsdb (inum: 2)> print
current inode: directory
I=2 MODE=40755 SIZE=512
        MTIME=Jun 10 19:28:50 2002 [891687000 nsec]
        CTIME=Jun 10 19:28:50 2002 [891687000 nsec]
        ATIME=Jun 10 19:29:18 2002 [655562000 nsec]
OWNER=root GRP=wheel LINKCNT=13 FLAGS=0x0 BLKCNT=0x4 GEN=0x0
fsdb (inum: 2)> blks
I=2 1 block 
Direct blocks:
0: 81 

BLKCNT is different. BLKCNT is the di_blocks field in struct dinode.

--
Manuel Bouyer, LIP6, Universite Paris VI.           Manuel.Bouyer@lip6.fr
--