This section describes the two commands that you use to create a customized file system:
newfs
mkfs
The newfs command is a friendlier version of the mkfs command that is used to create file systems.
The syntax is as follows:
/usr/sbin/newfs [-Nv] [mkfs_options] raw_device |
The following table describes the options and arguments for the newfs command.
Table 43–4 The newfs Command Options and Arguments
Option |
Description |
---|---|
-N |
Displays the file system parameters that would be used in creating the file system without actually creating it. This option does not display the parameters that were used to create an existing file system. |
-v |
Displays the parameters that are passed to the mkfs command. |
mkfs-options |
Use the options in this table (from- s size to -C maxcontig to set the mkfs parameters. The options are listed in the order they are passed to the mkfs command. Separate the options with spaces. |
-s size |
The size of the file system in sectors. The default is automatically determined from the disk label. |
-t ntrack |
The number of tracks per cylinder on the disk. The default is determined from the disk label. |
-b bsize |
The logical block size in bytes to use for data transfers. Specify the size of 4096 or 8192 (4 or 8 Kbytes). The default is 8192 bytes (8 Kbytes). |
-f fragsize |
The smallest amount of disk space in bytes that is allocated to a file. Specify the fragment size in powers of two in the range from 512 to 8192 bytes. The default is 1024 bytes (1 Kbyte). |
-c cgsize |
The number of disk cylinders per cylinder group. The default value is calculated by dividing the number of sectors in the file system by the number of sectors in 1 Gbyte, and then multiplying the result by 32. The default value ranges from 16 to 256. |
-m free |
The minimum percentage of free disk space to allow. The default is ((64 Mbytes/partition size) * 100), rounded down to the nearest integer and limited between 1% and 10%, inclusively. |
-r rpm |
The speed of the disk, in revolutions per minute. This setting is driver- or device-specific. If the drive can report how fast it spins, the mkfs command uses this value. If not, the default is 3600. This parameter is converted to revolutions per second before it is passed to the mkfs command. |
-i nbpi |
The number of bytes per inode to use in computing how many inodes to create. For the default values, see Number of Files. |
-o opt |
Optimization type to use for allocating disk blocks to files: space or time. The default is time. |
-a apc |
The number of alternate blocks per disk cylinder (SCSI devices only) to reserve for bad block placement. The default is 0. |
-d gap |
(Rotational delay) The expected minimum number of milliseconds it takes the CPU to complete a data transfer and initiate a new data transfer on the same disk cylinder. The default is 0. |
-n nrpos |
The number of different rotation positions in which to divide a cylinder group. The default is 8. |
-C maxcontig |
The maximum number of blocks, belonging to one file, that will be allocated contiguously before inserting a rotational delay. The default varies from drive to drive. Drives without internal (track) buffers (or drives or controllers that don't advertise the existence of an internal buffer) default to 1. Drives with buffers default to 7. This parameter is limited in the following way: blocksize x maxcontig must be <= maxphys maxphys is a read-only kernel variable that specifies the maximum block transfer size (in bytes) that the I/O subsystem is capable of satisfying. This limit is enforced by the mount command, not by newfs or mkfs command. This parameter also controls clustering. Regardless of the value of rotdelay, clustering is enabled only when maxcontig is greater than 1. Clustering allows higher I/O rates for sequential I/O and is described in tunefs(1M). |
raw_device |
The special character (raw) device file name of the partition that will contain the file system. This argument is required. |
This example shows how to use the -N option to display file system information, including the backup superblocks.
# newfs -N /dev/rdsk/c0t0d0s0 /dev/rdsk/c0t0d0s0: 37260 sectors in 115 cylinders of 9 tracks, 36 sectors 19.1MB in 8 cyl groups (16 c/g, 2.65MB/g, 1216 i/g) superblock backups (for fsck -b #) at: 32, 5264, 10496, 15728, 20960, 26192, 31424, 36656, # |
The generic mkfs command calls a file system-specific mkfs command, which then creates a file system of a specified type on a specified disk slice. Although the mkfs command can support different types of file systems, in practice you would use it to create UFS, UDFS, or PCFS file systems. To make other types of file systems, you would have to write the software for the file system–specific versions of the mkfs command to use. Normally, you do not run the mkfs command directly. The mkfs command is called by the newfs command.
The generic mkfs command is located in the /usr/sbin directory. For a description of the arguments and options, see mkfs(1M).