Subject: Re: installaion netbsd unsing miniroot.fs
To: Christian Smith <csmith@micromuse.com>
From: Greywolf <greywolf@starwolf.com>
List: port-sparc
Date: 09/26/2003 11:54:09
ISTM that we really need a two-stage miniroot boot:

The first stage loads into a RAMdisk and lets you partition your hd so that
you have a place to put the miniroot (then loads the miniroot).  The
second stage is booted from the miniroot.  It needs some fleshing out,
but that's about the size of it.  We need a way to do a HD miniroot shuffle,
possibly; i.e. (this is kludgey/hackish but bear with me a minute)

	- load miniroot.fs into spare partition;
	- boot ramdisk kernel;
	- perhaps tuck miniroot into a teeny 'h' partition at the end of
	  the disk (i.e. *move the miniroot*);
	- reboot using 'h' as miniroot;
	- install as normal; if 'h' is actually used as a valid partition,
	  tuck the necessary bits to make that filesystem into a one-time
	  script that gets run at reboot time and (if successful) moved
	  aside (just so the magic isn't completely hidden).  (perhaps
	  (this is the most hokey part) restrict use of 'h' (rather, its
	  territory!) as a non-critical partition (i.e. not used during
	  the install) so it won't clobber the miniroot).

I say 'h' here because we don't know if the PROM boot routines, if any,
would be able to divine more than 8 partitions.  I think about tucking it
at the end of the disk instead of somewhere in the middle because this would
make it possible to resize 'a' (usually root) and 'b' (usually primary swap).
This used to be a big sticking point in the old days, at least.

The other thought is to put the miniroot (how big is it?  Not huge...) at the
START of the disk and then set that up as a /boot filesystem and see where
we go from there (we could conceivably have boot/root parameters set up in
there somewhere).

Just my eight bits (to compensate for inflation).
Are there any ports that don't support an initial RAMdisk load?

Sorry if this is too far afield, but has anyone else given this thought?

				--*greywolf;
--
NetBSD: demonic power.