BSD "Slices" on x86 (and amd64)

[prev] [thread] [next] [lurker] [Date index for 2007/01/16]

From: jrodman
Subject: BSD "Slices" on x86 (and amd64)
Date: 17:09 on 16 Jan 2007
I know we have some BSD coots out in the audience, so in advance, I'm
going to say that I don't want to hear any defenses for this complete
and utter crap, because that's what it is.  Of course I welcome parallel
hate for comparable things.

The various forks of the BSD operating system all use their own
partition scheme, but to enable "compatability" they stuff their
partition scheme inside one of the partitions in the PC MS-DOS partition
scheme.  

Now, the MS-DOS, CP/M partition schcme sure is lousy.  Four partitions
isn't enough, and extended/logical terminology is clunky, and the
linked-list-on-disk business is a ball of hair.  But it's the partition
scheme which is used on x86 systems.  If the box will only ever run one
operating system, fine, you can opt to lay the disk out any way you
please, but if you're going to bother to make it possible from different
systems to understand the disk, you should implement the same format!

The BSD "slice" are not cute, and they are in every way inferior to the
awful MS-DOS partitioning.  They are more limited in number, they are
not comprehensible by other toools, and they introduce a needless second
level of hiararchy in order to access partitions that confers no
benefits and incurs complexity.  Moreover, each of these systems has its
own slightly different, slightly incompatable variation of "slice", so
that they cannot be shared (here again you see the lack of comprehension
of interoperability), and to boot they insist on using names to refer to
things defined by the platform which are inconsistent with the platform
(cf. slice vs partition vs slice).

The least one could do is the bare minimum of allowing these "slices" to
be stored in "dos logical drives" or "logical partitions" in more modern
x86 parlance, and still be bootable.  NetBSD has managed this amazing
feat of engineering.  FreeBSD and OpenBSD have apaprently yet to figure
it out.  DragonFly BSD can do it, but yet the installer still refuses
to let you set things up this way.  Great.

The upshot of all this stupidity is that I do not believe I can actually
install the various flavors of Unix I had intended to test with on this
new machine at the same time.  The common solutions to this problem I
see are: 

 1 - Use VMWare and friends - which is basically another way of saying
     *don't* install them.  Especialy if you wanted to get real-world
     performance data
 2 - Buy more hard disks
 3 - Use one of these "nifty" bootloaders that actually changes the
     partition table on the fly during boot to give you more fake
     partitions

The very existence of 3 is something I had not imagined possible until I
started looking into this, but yet it seems to be a common
recommendation on certain mailing lists.  What a horrific concept.

I guess I was misled when I was told that the FreeBSD port was mature!
Interoperability.  You'd think UNIX developers would have heard about
it.

-josh

Generated at 14:01 on 22 Jan 2007 by mariachi 0.52