The "New BSD Installer" thread has shown me that I am totally obsolete in disk partitioning.

Peter Maloney peter.maloney at
Mon Feb 20 14:13:57 UTC 2012

Am 17.02.2012 21:08, schrieb Edwin L. Culp W.:
> If such a thing exists,  I need a howto in mixing and matching all the
> different partitioning options and combinations, pro's and con's, for as
> many modern situations as possible. Any suggestions appreciated.
To create a full document from scratch explaining everything is likely
beyond the capabilites of any individual. If you had more specific
questions or topics, it would help us to help you more efficiently. What
are you looking for? A gpart howto? Mirroring and other types of
devices? mbr vs gpt? Whether or not to have separate partitions for /usr
and /var, etc.?

And then when you get your answers, submit a PR including the details of
what you expected in the handbook, and what you learned elsewhere that
should be added, and then in the PR, ask them to add what you wrote in
the PR to the handbook.

Personally, I can tell you a bunch about gpart, zfs, and explain or
elaborate on technical jargon, but I don't know too much about
sysinstall, bsdlabel, UFS, different boot options or FreeBSD software
raid configuration files. All my FreeBSD machines are running pure ZFS,
and I've only created temporary gpart, gstripe, etc. for tests so far.
If I needed to put together a real software raid UFS system, I would
need to look through documentation.

> I did look at the handbook but it seems to have changed little and uses
> sysinstall for the examples at:
> Thanks for any suggestions.  I apologize for my ignorance.
> ed
> P.S.  I have wanted to understand and try things like the following comment
> to the thread,  but I have no idea where to begin or options for doing it.
>             Sorry, I wasnt suggesting that you should always mirror
>             the indiviudual partititons - just I happen to do that where
>             I am mixing ZFS and gmirror. Obviosuly you dont want to create
>             lots of little mirrors if you dont have to. But even with
>             one mirror, you can mirror a big partiton covering the whole
>             drive, and then carve that up with bsdlabel. No need to ever
> mirror
>              the actual raw discs, and it works with GPT.

I think he means something like this, but I don't know how to use
bsdlabel, so here is gpart (one of the new things you should learn
anyway). And also I don't know if the result of my code below would even
boot, which bootcode to use, or what to put in /boot/loader.conf to make
it boot.

# create a gpt table (rather than MBR)
gpart create -s gpt da0
#(not sure... boot loader needed outside the mirror?)
gpart add -s 64k -l boot1 -t freebsd-boot da0
# add a slice for your mirror (aka. partition).
# from quote:  "But even with one mirror,"
gpart add -s 80g -l mirrorslice1 -t mbr da0

# set up the second disk
gpart create -s gpt da1
#(not sure... boot loader needed outside the mirror?)
gpart add -s 64k -l boot2 -t freebsd-boot da1
# from quote: "you can mirror *a big partiton* covering the whole drive"
gpart add -s 80g -l mirrorslice2 -t mbr da1

# Not sure if "mbr" is the right choice for the type above... I also
tried guessing "gpt" which didn't work and is not in the manual.

# create the mirror device (I don't know the proper way to do this... I
just tried this and don't know if it persists on boot, etc.)
# from quote: "*you can mirror* a big partiton covering the whole drive"
gmirror load
gmirror label mymirror gpt/mirrorslice1 gpt/mirrorslice2

# slice the mirror device as if it was a regular disk
# from quote: "and then carve that up with bsdlabel" (but I used gpart
instead of bsdlabel)
gpart create -s gpt gmirror/mymirror
gpart add -s 1g -l root -t freebsd-ufs gmirror/mymirror
gpart add -s 1g -l usr -t freebsd-ufs gmirror/mymirror

newfs gpt/root
newfs gpt/usr

Further explanation of other things he said not involved in the above:

"wasn't suggesting that you should always mirror the individual partititons"
gpart create -s gpt da0
gpart create -s gpt da1
gpart add -s 1g -l root1 -t freebsd-ufs da0
gpart add -s 1g -l root2 -t freebsd-ufs da1
gpart add -s 1g -l usr1 -t freebsd-ufs da0
gpart add -s 1g -l usr2 -t freebsd-ufs da1
gmirror label rootmirror gpt/root1 gpt/root2
gmirror label mymirror gpt/usr1 gpt/usr2

#and an example of what he said you don't need to do:
# from quote: "No need to ever mirror actual raw discs"
gmirror label mymirror da0 da1

raw disk = da0

gpt slice/partition = da0p1 where 1 is the index seen in "gpart show"
gpt slice/partition = gpt/root1 where root1 is the label seen in "gpart
show -l" and set in "gpart add ... -l labelhere"

mirror device = mirror/mymirror


Be sure to align properly. I didn't do any aligning above. Use the "-a
..." option. Units in gpart are sectors unless you specify another, and
sizes are in base-2 (eg. "-s 5g" would be a size of 5 GiB not 5GB)

And you would also need a boot slice separate from the mirror unless the
bootloader understands the mirror, and install the bootloader on both
disks. I don't know if it does support this, or if it will work at all
this way. You need to find this out somewhere other than from me.

> _______________________________________________
> freebsd-stable at mailing list
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at"

More information about the freebsd-stable mailing list