Subject: Re: NetBSD is running now -- questions...
To: None <port-atari@NetBSD.ORG>
From: Waldi Ravens <waldi@moacs.indiv.nl.net>
List: port-atari
Date: 10/20/1995 13:23:04
Hi Leo,

> >  no suitable root
> > 
> The sceme I mentioned _should_ be backwards compatible,

OK, if the backwards comp. stuff is still in, it means that Benni
faces a different problem; probably similar to the problem I had
when testing the disklabel functions for the first time.

Most likely, the rd_rootparts() function, called by readdisklabel()
does not recognise the AHDI partition table as such. Therefor it
assumes that the harddisk has not yet been partitioned, and creates
an initial disklabel with no entries (except for c, the whole disk).

WARNING: Do *not* try to create a NetBSD disklabel on this disk!
         Neither on purpose nor by accident. :-)

The rd_rootparts() and related functions perform some very strict
sanity checks on the data in the AHDI partition table. This is
necessary, because there is no magic number in the root- and/or
auxilary root sectors. The disadvantage of these strict checks
is that even the slightest mistake in the partition table is
interpreted as proof for the non-existance of an AHDI partition
table. I realise that TOS harddisk drivers and Linux do not
perform such sanity checks, but I'm reluctant to follow their
(IMO bad) example. I believe data integrity is an important
issue, especially when an `of-by-one' error may cause the
destruction of one or more filesystems.


I suppose the best way to handle this is to write a small utility
for TOS/MiNT, which does the same checks NetBSD does, while
producing some clear report (including error indication and
possible solution).


Waldi