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 128MB or more Yes Note: If you do not create a /usr filesystem then your / filesystem will need to be bigger - at least 240MB. 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 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. The UNIX File System (UFS) on FreeBSD supports two different on-disk layouts: UFS1 and UFS2. UFS1 was the default file system in use through FreeBSD 5.0-RELEASE; as of FreeBSD 5.1-RELEASE, the default is now UFS2, with the exception of the PC98 platform. UFS2 provides sparse inode allocation (faster fsck), 64-bit storage pointers (larger maximum size), and native extended attributes (required for ACLs, MAC, and other advanced security and file system services). The selection of UFS1 or UFS2 must be made when the file system is created--later conversion is not currently possible. UFS2 is the recommended file system, but if disks are to be used on older FreeBSD systems, UFS1 improves portability. When dual-booting between FreeBSD 4.x or earlier and FreeBSD 5.x, UFS1 file systems will be accessible from both. To toggle a file system to UFS1, press '1'. To restore it to UFS2, press '2'. WARNING: FreeBSD on i386 is currently unable to boot from root file systems larger than 1.5TB. 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.