Subject: Re: proposed re-work / unification of boot block installation
To: None <lukem@wasabisystems.com>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: tech-kern
Date: 04/30/2002 18:34:38
I'm working on MI installboot for news68k and now it is mostly working,
but I have some questions before commiting this.

1) Is it worth that native installboot for each port supports
   installation of bootstrap for ALL ports?

I think it is enough to support only native bootstrap
because we can use cross-installboot under src/tools/installboot
on cross-build.

The real problem is that MD part of installboot (i.e. arch/news68k.c etc.)
cannot include MD header files under /usr/include/machine.
We can include it like:
> #include "../../sys/arch/news68k/include/bbinfo.h"
but it is a bit ugly.

For sun2 (and others), header file which contains struct bbinfo
is installed under sys/dev/sun (or sys/dev/dec etc.), but
I don't think it is proper place to install because
struct bbinfo is not device specific structure but
NetBSD's bootstrap specific.


2) Is there any port which requires -b option of MI installboot?

Currently, -b option of MI installboot is mentioned as following:

>     -b bno  Install primary at block number bno instead of the default
>             location for the machine and file system type.

But for ustarfs (especally install floppies), it should be

>     -b bn  Assume that secondary boot is contiguously present with
>            initial block number bn.

like alpha's installboot.old. In this case, filesystem type
should be ignored and specified name of secondary boot
will be used only to determine its file size.
If there is no port using this option, I'd like to change its behavior.

Of course, it is better to implement ufstarfs_match() and
ustarfs_findstage2() functions for ustarfs images
rather than using -b option, but it isn't easy work for me ;-)
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp