Subject: new improved bootblocks
To: None <port-pmax@NetBSD.ORG>
From: Simon Burge <simonb@NetBSD.ORG>
List: port-pmax
Date: 10/25/1999 16:35:28
Folks,

Over the last month or so I've been working at making new bootblocks for
the pmax based somewhat on the alpha bootblocks.  This means we'll have
native ffs, lfs and cd9660 bootblocks - the cd9660 bootblocks are one of
the reasons I've been looking at this.  I know that ffs bootblocks work,
and I'll also be testing the cd9660 bootblocks as soon as I can figure
out how to make a CD filesystem on an old RZ23L.

First a bit of a comentary on what we've got and where I'm heading, then
question or two...  Currently, we have in /usr/mdec "boot", "bootrz" and
"rzboot".  disklabel(8) knows about "bootrz" and "rzboot" while "boot"
needs to be copied to the root directory ("make install" and base.tgz
both include a /boot as well as /usr/mdec/boot).

With the new bootblocks, I've renamed "boot" to "bootpmax" so that
it can co-exist with other bootblocks (think multi-architecture
distribution CDs here).  There'll also be an "installboot" as well
as the bootblocks themselves in "bootxx_cd9660", "bootxx_ffs" and
"bootxx_lfs".  "installboot" is used to install these at the start of
a disk, but soon should grow an option to locate the first stage at
an arbitary disk block address (again, think distribution CDs).

Now for the question - should we do away with disklabel's ability
to install the first stage bootblocks?  I know that both myself
and Jonathan had (and Jonathan may still have) objections to using
"installboot", but that was based on an "installboot" that plugged fixed
disk block numbers into the first stage bootblocks and meant that /boot
(or /bootpmax) couldn't be moved without having to re-run "installboot"
to adjust those fixed numbers again.  With the "installboot" that I have
now, it simply copies whichever first stage bootstrap to the right part
of the disk - the first stage is smart enough in all cases to locate the
second stage without using fixed block numbers.

It is pretty easy to keep both ways (disklabel and installboot), but
I'm leaning towards just having one way (installboot) that works for
all supported filesystem types.

Comments from anyone?

Simon.