On 9/27/2018 3:32 AM, Rocky Hotas wrote:
For the sake of completeness, let's consider another case, hopefully interesting to others. If you decide to install on the same disk two or more BSD systems, all compatible with BSD disklabel (for example, two different versions of NetBSD, or NetBSD and FreeBSD), would that unique BSD disklabel in sector 1 of the disk be able to handle this?
Remember, the partitions have no knowledge of where they actually exist in a FILESYSTEM! So, in a degenerate example, put 2 partitions on a disk that each represent an entire root filesystem TO THE OS THAT IS BOOTED. Boot partition 1 and you get one "system" (OS and filesystem). Boot partition 2 and you get another. To be more exotic, fstab(5) in the filesystem represented in partition 1 can call for /home to be mounted from partition 6 with /oldhome mounted from partition 7. Meanwhile, the fstab(5) in the filesystem represented in partition 2 swaps this order (/home from partition 7 and /oldhome from partition 6).
In all the examples I've seen, this data structure is conceived to describe only a single system, with one root partition (and then optional separate partitions as /home, /var, /usr according to the administrator's choice, but all referred to the same root). Multiple OSs would mean multiple root partitions.
Yes.
However, it would be very odd if, in order to allow the existence of multiple BSD OSs, a third-party partitioning scheme as MBR would be needed. If these questions can be answered by reading some documentation or some other source and you know the link, I would check it out (unfortunately I found almost nothing about this).
I think you can actually get even messier if you use an MBR to create 4 different MBR "slices" -- and put NetBSD labels *in* each of those defining 4/8/16 different "NetBSD partitions". Then boot some particular NetBSD partition from that set of 4/8/16 available! Sorry to further complicate the discussion by drawing a distinction between MBR /slices/ (which the rest of the world calls a /partition/) and NetBSD /partitions/ within said slice(s). [Graphics would really make a lot of this easier to explain! :< ]