Subject: Re: port-vax/28724: during install, installboot does not place boot code on hard disk
To: None <email@example.com>
From: Greg A. Woods <firstname.lastname@example.org>
Date: 12/20/2004 15:23:47
[ On Monday, December 20, 2004 at 15:57:00 (+0000), email@example.com wrote: ]
> Subject: port-vax/28724: during install, installboot does not place boot code on hard disk
> installboot: Set bootstrap operation failed
> After the install, you cannot boot of that drive.
My knowledge of NetBSD/vax booting is minimal, so I need to ask if
installboot writes block numbers into the boot sector -- i.e. does it
need to access the on-disk inode for /boot just as is done on i386?
If so, and since as far as I can tell the fixes to fsync() metadata have
not yet been pulled up into 2.0, and so there's a kernel bug that'll
cause installboot to often fail from sysinst, or whenever the target
filesystem is mounted '-o async', just as it does on i386.
The problem is that all too often the inode for /boot has not been
written to disk when installboot goes to find out what data blocks the
/boot file occupies. As a result no block numbers, or possibly the
wrong block numbers, are written to the boot sector (PBR on i386).
My solution for now is to simply remove the '-o async' from sysinst and
then add in some "mount -u -o async" invocations just before the
extraction phase starts (because otherwise it takes forever on anything
but the fastest storage systems!)
The better fix is to pull up rev. 1.61 of src/sys/ufs/ffs/ffs_vnops.c
(along with any other related changes).
I posted about this in tech-kern a while back but I had not yet filed a
PR. Of course this pullup needs to be done for netbsd-1-6 too! ;-)
Greg A. Woods
+1 416 218-0098 VE3TCP RoboHack <firstname.lastname@example.org>
Planix, Inc. <email@example.com> Secrets of the Weird <firstname.lastname@example.org>