This is the FreeBSD DiskLabel Editor.

NOTE: If you're entering this editor from the update procedure then
you probably shouldn't (C)reate anything at all but rather use only
the (M)ount command to check and mount existing partitions for
upgrading.

If you would like the label editor to do most of the following for
you, simply type `A' for automatic partitioning of the disk.

If you wish to create partitions manually you may do so by moving the
highlighted selection bar with the arrow keys over the FreeBSD
partition(s) displayed at the top of the screen.  Typing (C)reate
while a partition with available free space is selected will allow you
to create a BSD partition inside of it using some or all of its
available space.

Typing (M)ount over an existing partition entry (displayed in the
middle of the screen) will allow you to set a mount point for it
without initializing it.  If you want it initialized, use the (T)oggle
command to flip the Newfs flag.  When Newfs is set to "Y", the
filesystem in question will be ERASED and rebuilt from scratch!


You should use this editor to create at least the following
filesystems:

        Name    Purpose                 Min Size?       Optional?
        ----    -------                 ---------       ---------
        /       Root filesystem         118MB           No
        swap    Swap space              2 * MEM         No
        /usr    System & user files     80MB or more    Yes

Note: If you do not create a /usr filesystem then your / filesystem
will need to be bigger - at least 200MB.  This is not recommended as
any media errors that may occur during disk I/O to user files will
corrupt the filesystem containing vital system files as well.  It is
for this reason that / is generally kept on its own filesystem, where
it should be considered essentially "read only" in your administration
of it.

Swap space is a little tricker, and the rule of "2 * MEM" is simply a
best-guess approximation and not necessarily accurate for your
intended usage of the system.  If you intend to use the system heavily
in a server or multi-user application, you may be well advised to
increase this size.  You may also create swap space on multiple drives
for a larger "total" swap and this is, in fact, recommended if you
have multiple, fast drives for which such load-balancing can only help
overall I/O performance.

The /usr filesystem should be sized according to what kind of
distributions you're trying to load and how many packages you intend
to install in locations like /usr/local.  You can also make /usr/local
a separate filesystem if you don't want to risk filling up your /usr
by mistake.

Another useful filesystem to create is /var, which contains mail, news
printer spool files and other temporary items.  It is a popular
candidate for a separate partition and should be sized according to
your estimates of the amount of mail, news or spooled print jobs that
may be stored there.

WARNING: If you do not create a separate filesystem for /var, space
for such files will be allocated out of the root (/) filesystem
instead.  You may therefore wish to make the / partition bigger if you
expect a lot of mail or news and do not want to make /var its own
partition.

If you're new to this installation, you might also want to read the
following explanation of how FreeBSD's new "slice" paradigm for
looking at disk storage works:


In FreeBSD's new system, a device name can be broken up into up to 3
parts.  Take a typical name like ``/dev/da0s1a'':

      The first three characters represent the drive name.  If we had
      a system with two SCSI drives on it then we'd see /dev/da0 and
      /dev/da1 as the device entries representing the entire drives.

      Next you have the "slice" (or "FDISK Partition") number,
      as seen in the Partition Editor.  Assuming that our da0
      contained two slices, a FreeBSD slice and a DOS slice, that
      would give us /dev/da0s1 and /dev/da0s2 as device entries pointing
      to the entire slices.

      Next, if a slice is a FreeBSD slice, you can have a number of
      (confusingly named) "partitions" inside of it.

      These partitions are where various filesystems or swap areas live,
      and using our hypothetical two-SCSI-disk machine again, we might
      have something like the following layout on da0:

              Name            Mountpoint
              ----            ----------
              da0s1a          /
              da0s1b          <swap space>
              da0s1e          /usr

Once you understand all this, then the purpose of the label editor
becomes fairly clear:  You're carving up the FreeBSD slices displayed
at the top of the screen into smaller pieces, which are displayed in
the middle of the screen, and then assigning FreeBSD file system names
(mount points) to them.

You can also use the label editor to mount existing partitions/slices
into your filesystem hierarchy, as is frequently done for DOS FAT
slices.  For FreeBSD partitions, you can also toggle the "newfs" state
so that the partitions are either (re)created from scratch or simply
checked and mounted (the contents are preserved).

If you set (S)oftUpdates on a filesystem, it will cause the
"Soft Updates" policy to be in effect for it.  This basically causes
both metadata and data blocks to be written asynchronously to disk,
but with extra state information which causes the metadata and any
related data blocks to be committed in a single transaction.  This
results in async metadata update speeds (which are considerably
faster than the default sync) without the potential for data loss
which could occur if you simply mounted the filesystem with purely
"async" update policy and then had a power failure.  If you wish
to later turn the softupdates policy back off, use the command
"tunefs -n disable devicename".  NOTE:  It is probably not wise
to use this on your root filesystem unless you have a large
(e.g. non-standard size) root.  The reason is that smaller filesystems
with significant activity can temporarily overflow if the soft updates
policy results in free'd blocks not being "garbage collected" as fast
as they're being requested.

To make use of UFS2, press '2' on a UFS file system to toggle the
on-disk format revision.  UFS2 provides native support for extended
attributes, larger disk sizes, and forward compatibility with new
on-disk high performance directory layout and storage extents.
However, UFS2 is unsupported on versions of FreeBSD prior to 5.0,
so it is not recommended for environments requiring backward
compatibility.  Also, UFS2 is not currently recommended as a root
file system format for non-64-bit platforms due to increased size
of the boot loader; special local configuration is required to boot
UFS2 as a root file system on i386 and PC98.

To add additional flags to the newfs command line for UFS file
systems, press 'N'.  These options will be specified before the
device argument of the command line, but after any other options
placed there by sysinstall, such as the UFS version and soft
updates flag; as such, arguments provided may override existing
settings.  To completely replace the newfs command used by
sysinstall, press 'Z' to convert a partition to a Custom
partition type.  Sysinstall will prompt you with the newfs
command line that it would have used based on existing settings
prior to the change, but allow you to modify any aspect of the
command line.  Once a partition has been converted to a custom
partition in the label editor, you will need to restart the
labeling process or delete and recreate the partition to restore
it to a non-custom state.  Custom partitions are represented by
the letters "CST" instead of "UFS" or "FAT.

When you're done, type `Q' to exit.

No actual changes will be made to the disk until you (C)ommit from the
Install menu or (W)rite directly from this one.  You're working with
what is essentially a copy of the disk label(s), both here and in the
FDISK Partition Editor, and the actual on-disk labels won't be
affected by any changes you make until you explicitly say so.
