> #> #
> #> # I know that the NetBSD installation hints carried a warning that
> #> # employing disklabels with 16 partitions voided compatibility with
> #> # other BSD systems. (Not for all Unixen, though -- there are other
> #> # systems around besides NetBSD which are using 16 partitions, too.
> #> # But a-h used to be the universal disklabel(5).)
> #> So far it seems it voids interoperability with FreeBSD. I'd like to
> #> be proven wrong here, but so far nobody has.
> # The sensible thing would to put a NetBSD disklabel in the NetBSD
> # MBR partition (type 169) and a FreeBSD label in the FreeBSD MBR
> # partition (type 165). To accomplish this, you'll either need to
> # use a custom kernel built without "COMPAT_386BSD_MBRPART", or
> # you'll need to place the NetBSD partition in a lower numbered
> # slot than the FreeBSD one. It doesn't even need to be first on
> # the disk -- just first in the table -- so you can probably fix
> # the installation with "fdisk" by rearranging the partitions to
> # have a type 169 in the "0" slot, of the same size and type as the
> # existing NetBSD partition. The FreeBSD label will still be corrupted,
> # but it will henceforth be left alone, so you might then use FreeBSD's
> # sysinstall to fix it.
> I'm afraid this paragraph confused me totally. :-) There can be only
> one MBR per physical drive. There is one disklabel per slice (="Partition"
> in DOS lingo). Slice 1 was DOS, slice 2 the one for NetBSD, slice 3 for
> Linux (slice 4 unused).
NetBSD's fdisk numbers them "0" through "3". If the kernel has
COMPAT_386BSD_MBRPART (the default), it will take the first partition
with either type 165 or type 169 as it's own (so that's where the
disklabel will go). I believe FreeBSD does something similiar, except,
of course, FreeBSD always chooses type 165. Therefore, if you need to
dual boot FreeBSD and NetBSD, the NetBSD root needs to be in a lower
slot than the FreeBSD root.
Alternatively, you could build kernels, including installation
kernels, without COMPAT_386BSD_MBRPART. From your description below,
I don't think that would serve your purpose. It sounds like you want
to use FreeBSD to configure your NetBSD disklabel???
Quote:> #> Can anybody confirm that the installer has a bug because it insists
> #> on changing from 8 to 16 partititons per slice?
This brings to mind a point which I overlooked on first reading.
It's not 16 partitions per "slice", it's 16 partitions *overall*.
Rather than deal with other OS's limited schemes, NetBSD/i386 has
a completely separate one. You can dedicate a non-booting disk to
NetBSD which has only a disklabel, and no MBR at all. I believe
linux doesn't use disklabels at all, only "slices", and I don't
know what FreeBSD does now.
> # I doubt it.
> Well, seeing is believing. The drive (sd4) was *, with only FreeBSD
> fdisk being used to configure the slices. So at first I thought ok,
> slice 2 doesn't have any valid disklabel at all, so the installer choses
> the new NetBSD type when it needs to write the label. But even after
> configuring a valid disklabel with a few file sytems under FreeBSD, and
> running the NetBSD installation again, AND ANSWERING "NO" to "Do you
> want to convert this disklabel to the new NetBSD label", it would change
> the sysid from 165 to 169 and offer me a: though p: to configure.
Well, the question is probably bogus.
There's no standard for disklabels, so there's no reason to expect them
to be interoperable. If NetBSD understands the FreeBSD label well enough
to salvage some of the information before converting it, good for NetBSD.
If FreeBSD lacks any capacity to parse NetBSD labels, then that's their
deficiency, not NetBSD's.
The objection to breaking compatibility and tradition, by changing the
disklabel format shared with FreeBSD by virtue of common origin is not
a new one -- it was fully considered in discussion, and ultimately denied,
before the release of NetBSD 1.3.2 (or therabouts), some four years ago.
What you might try, is to see if an 8 partition NetBSD label is even
still parsable by FreeBSD. Assuming you can boot into NetBSD and run
"disklabel -e", just change the "16 partitions:" to "8 partitions:".
Quote:> Is the installer in the CVS repo? If so, can someone point me at the right
> directory, I can probably spend some time chasing that bug.