bf1e70b230
editor, in order to support specifying UFS2 as a newfs option. (1) Support three different newfs types: NEWFS_UFS, NEWFS_MSDOS, and NEWFS_CUSTOM. Don't mix up the arguments to them: you can't use soft updates on an msdos file system. (2) Distinguish adding new arguments to the newfs command line from replacing it. Permit the addition of new arguments by the user for NEWFS_UFS. If we entirely replace the command line provided by sysinstall, call it NEWFS_CUSTOM. 'N' will now add additional arguments; 'Z' will opt to replace the newfs command line entirely, but will prompt the user with their current command line as a starting point. (3) Construct the newfs command line dynamically based on the options provided by the user at label-time. Right now, this means selecting UFS1 vs. UFS2, and the soft updates flag. Drop in some variables to support ACLs and MAC Multilabel in the future also, but don't expose them now. This provides sysinstall with the ability to do more "in band" editing of the newfs command line, so we can provide more support for the user, but doesn't sacrifice the ability to entirely specify the newfs command line of the user is willing to give up on the cushiness factor. It also makes it easier for us to specify defaults in the future, and define conditional behavior based on user configuration selections. For now, we default to UFS1, and permit UFS2 to be used as the root only on non-i386 systems. While I was there, I dropped the default fragment and block sizes, since newfs has much more sensible defaults now. Reviewed by: jhb, marcel Approved by: re ia64 bits from: marcel
163 lines
7.9 KiB
Plaintext
163 lines
7.9 KiB
Plaintext
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 20MB 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 100MB. 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.
|