Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Nov 2000 21:17:48 -0700 (MST)
From:      "Chad R. Larson" <chad@DCFinc.com>
To:        roman@harmonic.co.il (Roman Shterenzon)
Cc:        msmith@FreeBSD.ORG, freebsd-stable@FreeBSD.ORG
Subject:   Re: Dangerously Dedicated
Message-ID:  <200011210417.VAA07691@freeway.dcfinc.com>
In-Reply-To: <Pine.LNX.4.10.10011201449050.4329-100000@shark.harmonic.co.il> from Roman Shterenzon at "Nov 20, 0 02:50:49 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
As I recall, Roman Shterenzon wrote:

> This is a really long thread indeed.

Yes, it is.  It was last time, too.

> Could someone sum it up, and say why the current way isn't good?

As I understand it (and I'm sure someone will correct me):

1)  The PC-BIOS uses a table embedded in the Master Boot Record (MBR)
    to locate the next layer of bootstrap code on the disk.  This
    table is called the "partition" table by most non-UNIX
    documentation.  FreeBSD calls it the "slice" table.  FreeBSD
    doesn't use the BIOS for anything other than loading the
    bootstrap code, so all of this is only an issue early in the
    startup.

2)  If you allow Microsoft's fdisk program to install an MBR, it
    builds one that wastes space.  So do many other programs that try
    to perform the same function.  The waste is caused, in part, by
    rounding a Logical Block Address (LBA) to a cylinder/head/sector
    (CHS) boundry at the end of the partitions, and reserving the first
    "track" on the drive.  Since in modern drives, CHS and tracks are
    both fictional inventions (do you think your Segate Barracuda really
    has 63 heads?), some people are offended by the waste.  Or, they're
    running from limited disk space such as memory cards or floppy disks
    and don't feel they can afford it.

4)  "Dangerously Dedicated" (DD) disks do not have an MBR.  Instead,
    the FreeBSD disk label (which contains the definition of what
    FreeBSD calls the partitions) sits where the MBR would have been.
    It has embedded in it a bogus slice table.  This dummy table was
    sufficient to statisfy the BIOSs in general use at the time the code
    was written, since they only have to load the first block of the
    "active" slice and jump to it.

5)  The BIOSs in some newer machines expect an actual, correct MBR.
    For example, the BIOS on a hardware RAID controller might get
    confused if all the drives attached to it don't have a "proper"
    MBR whilst trying to boot.

6)  You can only generate a DD disk at system installation, or by
    using disklabel to hand-craft a partition table yourself.

To summarize the summary:  The problem comes from the fact that a
PC-BIOS is permitted to insist on an MBR on each drive, and that the
slices in that MBR align on certain boundries whereas FreeBSD
doesn't care about such sillyness but has to use the BIOS to get
launched.

Simple solution?  Don't use DD.

Slightly less simple?  Don't use DD on drives that are in any way
involved with the boot process, but go ahead on data-only drives.

If you fully understand your own hardware (many don't) and what it
does at startup, go ahead and use DD.  But don't expect to migrate
the drive to some another system later and keep the data.  Or to
multi-boot several operating systems.

My opinion?  It would be good if the boot/disklabel/fdisk suite
dealt with this cleaner.  But unless you're jammed into it by tiny
media or misbehavior on removable disks or something in that
catagory, the space savings aren't worth it.

> The sysinstall asks and warns about the "DD" mode, isn't that
> sufficient?

Apparently, not.

	-crl
--
Chad R. Larson (CRL15)   602-953-1392   Brother, can you paradigm?
chad@dcfinc.com         chad@larsons.org          larson1@home.net   
DCF, Inc. - 14623 North 49th Place, Scottsdale, Arizona 85254-2207


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200011210417.VAA07691>