Subject: Re: Trouble with installboot
To: David Sieborger <drs@rucus.ru.ac.za>
From: Bill Studenmund <wrstuden@zembu.com>
List: port-sparc
Date: 04/14/2000 12:31:40
On Fri, 14 Apr 2000, David Sieborger wrote:

> I'm installing NetBSD 1.4.2 on a SPARCclassic, which used to run Red
> Hat Linux.  I've created a disklabel, and successfully run the
> install.sh script from a diskless boot.  However, when I try to boot
> the machine from its hard disk, I get this error:
> 
> 
> Boot device: /iommu/sbus/espdma@4,8400000/esp@4,8800000/sd@3,0   File and args:
> 
> bootxx: short read
> Program terminated
> Type  help  for more information
> ok
> 
> 
> I tried recompiling and reinstalling bootxx (from the 1.4.2 release
> sources) with DEBUG defined.  That showed that the short read occurs
> as the twelfth block - the first indirect block - is read.  It seems
> (to me) that installboot is writing invalid block numbers to bootxx.
> 
> The output from installboot shows that it finds some very odd-looking
> block numbers:
> 
> 
> zeta# /usr/mdec/installboot -v -a sun4m /mnt/boot /usr/mdec/bootxx /dev/rsd0a
> boot: /mnt/boot
> proto: /usr/mdec/bootxx
> device: /dev/rsd0a
> architecture: sun4m
> /usr/mdec/bootxx: entry point 0x340000
> /usr/mdec/bootxx: a.out header left on
> proto bootblock size 7680
> room for 256 filesystem blocks at 0x341930
> /mnt/boot: block numbers: 4576 4584 4592 4600 4608 4616 4624 4632 4640 4648 4656
>  4664
> /mnt/boot: block numbers (indirect): -1606008816 -2142896128 -2142879736 5536481
> 38
> zeta#

Looks weird. What usually happens in indirect blocks is the negative of
the indirect block number (block number where the other block numbers are
stored) is stored in the inode, and the regular block numbers are then
stored in the indirect block.

Not sure why it's failing though..

Take care,

Bill