Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
rmformat [-DeHUv] [-b label] [-c blockno] [-Fquick | long | force ] [-s filename] [devname]
rmformat -V read | write devname
rmformat -l [devname]
The rmformat utility is used to format, label, partition, and perform other miscellaneous functions on removable, rewritable media that include floppy drives, and the PCMCIA memory and ata cards. The rmformat utility should also be used with all USB mass storage devices, including USB hard drives. This utility can also be used for the verification and surface analysis and for repair of the bad sectors found during verification if the drive or the driver supports bad block management.
After formatting, rmformat writes the label, which covers the full capacity of the media as one slice on floppy and PCMCIA memory cards to maintain compatibility with the behavior of fdformat. The partition information can be changed with the help of other options provided by rmformat.
The following options are supported:
-b label
Labels the media with a SUNOS label. A SUNOS volume label name is restricted to 8 characters. For media size greater than 1 TB, an EFI label is created. For writing a DOS Volume label, the user should use mkfs_pcfs(1M).
-c blockno
Corrects and repairs the given block. This correct and repair option may not be applicable to all devices supported by rmformat, as some devices may have a drive with bad block management capability and others may have this option implemented in the driver. If the drive or driver supports bad block management, a best effort is made to rectify the bad block. If the bad block still cannot be rectified, a message is displayed to indicate the failure to repair. The block number can be provided in decimal, octal, or hexadecimal format. The normal floppy and PCMCIA memory and ata cards do not support bad block management.
-D
Formats a 720KB (3.5 inch) double density diskette. This is the default for double density type drives. This option is needed if the drive is a high or extended-density type.
-e
Ejects the media upon completion. This feature may not be available if the drive does not support motorized eject.
-F quick | long | force
Formats the media. The quick option starts a format without certification or format with limited certification of certain tracks on the media. The long option starts a complete format. For some devices this might include the certification of the whole media by the drive itself. The force option to format is provided to start a long format without user confirmation before the format is started. In legacy media such as floppy drives, all options start a long format depending on the mode (Extended Density mode, High Density mode, or Double Density mode) with which the floppy drive operates by default. On PCMCIA memory cards, all options start a long format.
-H
Formats a 1.44 MB (3.5 inch) high density diskette. This is the default for high density type drives. It is needed if the drive is the Extended Density type.
-l
Lists all removable devices. By default, without any options, rmformat also lists all removable devices. If the dev_name is given, rmformat lists the device associated with the dev_name. The output shows the device pathname, vendor information, and the device type.
-s filename
Enables the user to lay out the partition information in the SUNOS label. The user should provide a file as input with information about each slice in a format providing byte offset, size required, tags, and flags, as follows:
slices: n = offset, size [, flags, tags]where n is the slice number, offset is the byte offset at which the slice n starts, and size is the required size for slice n. Both offset and size must be a multiple of 512 bytes. These numbers can be represented as decimal, hexadecimal, or octal numbers. No floating point numbers are accepted. Details about maximum number of slices can be obtained from the System Administration Guide: Basic Administration. To specify the size or offset in kilobytes, megabytes, or gigabytes, add KB, MB, GB, respectively. A number without a suffix is assumed to be a byte offset. The flags are represented as follows:
wm = read-write, mountable wu = read-write, unmountable ru = read-only, unmountableThe tags are represented as follows: unassigned, boot, root, swap, usr, backup, stand, var, home, alternates. The tags and flags can be omitted from the four tuple when finer control on those values is not required. It is required to omit both or include both. If the tags and flags are omitted from the four tuple for a particular slice, a default value for each is assumed. The default value for flags is wm and for tags is unassigned. Either full tag names can be provided or an abbreviation for the tags can be used. The abbreviations can be the first two or more letters from the standard tag names. rmformat is case insensitive in handling the defined tags & flags. Slice specifications are separated by : For example:
slices: 0 = 0, 30MB, "wm", "home" : 1 = 30MB, 51MB : 2 = 0, 100MB, "wm", "backup" : 6 = 81MB, 19MBrmformat does the necessary checking to detect any overlapping partitions or illegal requests to addresses beyond the capacity of the media under consideration. There can be only one slice information entry for each slice n. If multiple slice information entries for the same slice n are provided, an appropriate error message is displayed. The slice 2 is the backup slice covering the whole disk capacity. The pound sign character, #, can be used to describe a line of comments in the input file. If the line starts with #, then rmformat ignores all the characters following # until the end of the line. Partitioning some of the media with very small capacity is permitted, but be cautious in using this option on such devices.
-U
Performs umount on any file systems and then formats. See mount(1M). This option unmounts all the mounted slices and issues a long format on the device requested.
-V read | write
Verifies each block of media after format. The write verification is a destructive mechanism. The user is queried for confirmation before the verification is started. The output of this option is a list of block numbers, which are identified as bad. The read verification only verifies the blocks and report the blocks which are prone to errors. The list of block numbers displayed can be used with the -c option for repairing.
The following operand is supported:
devname
devname can be provided as absolute device pathname or relative pathname for the device from the current working directory or the nickname, such as cdrom or rmdisk. For floppy devices, to access the first drive use /dev/rdiskette0 (for systems without volume management) or floppy0 (for systems with volume management). Specify /dev/rdiskette1 (for systems without volume management) or floppy1 (for systems with volume management) to use the second drive. For systems without volume management running, the user can also provide the absolute device pathname as /dev/rdsk/c?t?d?s? or the appropriate relative device pathname from the current working directory.
Example 1 Formatting a Diskette
example$ rmformat -F quick /dev/rdiskette Formatting will erase all the data on disk. Do you want to continue? (y/n)y
Example 2 Formatting a Diskette for a UFS File System
The following example formats a diskette and creates a UFS file system:
example$ rmformat -F quick /dev/aliases/floppy0 Formatting will erase all the data on disk. Do you want to continue? (y/n)y example$ su # /usr/sbin/newfs /dev/aliases/floppy0 newfs: construct a new file system /dev/rdiskette: (y/n)? y /dev/rdiskette: 2880 sectors in 80 cylinders of 2 tracks, 18 sectors 1.4MB in 5 cyl groups (16 c/g, 0.28MB/g, 128 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 640, 1184, 1792, 2336, #
Example 3 Formatting Removable Media for a PCFS File System
The following example shows how to create an alternate fdisk partition:
example$ rmformat -F quick /dev/rdsk/c0t4d0s2:c Formatting will erase all the data on disk. Do you want to continue? (y/n)y example$ su # fdisk /dev/rdsk/c0t4d0s2:c # mkfs -F pcfs /dev/rdsk/c0t4d0s2:c Construct a new FAT file system on /dev/rdsk/c0t4d0s2:c: (y/n)? y #
The following example describes how to create a PCFS file system without an fdisk partition:
example$ rmformat -F quick /dev/rdiskette Formatting will erase all the data on disk. Do you want to continue? (y/n)y example$ su # mkfs -F pcfs -o nofdisk,size=2 /dev/rdiskette Construct a new FAT file system on /dev/rdiskette: (y/n)? y #
Example 4 Listing All Removable Devices
The following example shows how to list removable devices. This output shows a long listing of such devices.
example$ rmformat -l Looking for devices... Logical Node: /dev/rdsk/c5t0d0s2 Physical Node: /pci@1e,600000/usb@b/hub@2/storage@4/disk@0,0 Connected Device: TEAC FD-05PUB 1026 Device Type: Floppy drive Bus: USB Size: 1.4 MB Label: floppy Access permissions: Medium is not write protected.
Directory providing block device access for the media in floppy drive 0.
Directory providing character device access for the media in floppy drive 0.
Directory providing symbolic links to the character devices for the different media under the control of volume management using appropriate alias.
Symbolic link to the character device for the media in floppy drive 0.
Symbolic link providing character device access for the media in the primary floppy drive, usually drive 0.
Directory providing block device access for the PCMCIA memory and ata cards and removable media devices.
Directory providing character device access for the PCMCIA memory and ata cards and removable media devices.
Symbolic link to the character device for the PCMCIA memory card in socket S, where S represents a PCMCIA socket number.
Symbolic link to the generic removable media device that is not a CD-ROM, floppy, DVD-ROM, PCMCIA memory card, and so forth.
Directory providing character device access for the PCMCIA memory and ata cards and other removable devices.
Directory providing block device access for the PCMCIA memory and ata cards and other removable media devices.
cpio(1), eject(1), fdformat(1), tar(1), volcheck(1), volrmmount(1), format(1M), mkfs_pcfs(1M), mount(1M), newfs(1M), prtvtoc(1M), rmmount(1M), rpc.smserverd(1M), attributes(5), scsa2usb(7D), sd(7D), pcfs(7FS), udfs(7FS)
System Administration Guide: Basic Administration
A rewritable media or PCMCIA memory card or PCMCIA ata card containing a ufs file system created on a SPARC-based system (using newfs(1M)) is not identical to a rewritable media or PCMCIA memory card containing a ufs file system created on an x86 based system. Do not interchange any removable media containing ufs between these platforms; use cpio(1) or tar(1) to transfer files on diskettes or memory cards between them. For interchangeable filesystems refer to pcfs(7FS) and udfs(7FS).
rmformat might not list all removable devices in virtualization environments.
Currently, bad sector mapping is not supported on floppy diskettes or PCMCIA memory cards. Therefore, a diskette or memory card is unusable if rmformat finds an error (bad sector).