ddefs(1M) ddefs(1M)
NAME
ddefs - disk definition information manager
SYNOPSIS
/etc/ddefs [-dddefsdir] -n[diskname]
/etc/ddefs [-dddefsdir] -erpdiskname
DESCRIPTION
The ddefs utility is used to add to or modify the information that
describes disks. The disk definitions are contained in files in the
/etc/dskdefs directory. The files in /etc/dskdefs are read by the
dinit(1M) program to obtain format information about the disks.
To specify the directory, use the -d option followed by a directory
name on the command line, as shown in the SYNOPSIS section. If no
ddefsdir is given, the default is /etc/dskdefs.
The diskname is either a ``device'', specified as
/dev/rdsk/devicename, or a ``ddefs file'' in the directory ddefsdir.
The ddefs program provides several options both for interactive and
non-interactive use. UNIX System V/68 and UNIX System V/88 only
support the 182Mb CDC WREN and the 390Mb ITI ESDI drives with a
MVME323 controller, however this command contains additional options
for other controllers and drives. The options are:
-n [diskname]
(Interactive) Create a new disk definition, where diskname
corresponds to the type values Tisted for dinit(1M) (e.g.,
m323182 for a 182Mb CDC ESDI drive). If a name is given that
already exists, the program automatically shifts to edit mode
(-e option). If no diskname is given, the user is prompted for
a name. When creating a new definition, ddefs will prompt for
the name of a ``template'' disk. The template disk is usually
one with similar, but not identical, attributes.
-e diskname
(Interactive) Edit an existing disk definition. If the
diskname given does not exist, the program switches
automatically to create mode (-n option).
-r diskname
(Interactive) Edit an existing disk definition (read-only).
-p diskname
(Non-interactive) Print an existing disk definition.
For every type of operation, the user has the option of specifying a
directory for the disk definition file. If an existing definition is
being edited, this is the directory where the definition file can be
found. If a new definition is being created, this is the directory
8/91 Page 1
ddefs(1M) ddefs(1M)
where the definition file will be placed. It is also the directory
where the template can be found when this feature is used.
Each disk definition is formatted as a series of lines, each line
giving a parameter name followed by a value. To modify a definition,
move the cursor to the appropriate line and type the new value. When
creating a new definition file, ddefs will not write the definition
until all parameters are initialized (changed).
To obtain ``help'' information about a parameter, type a ? after the
parameter name. The elements of the definition file and the help
information for each are given in the following paragraphs.
When diskname is a ``ddefs file'', all parameters are readable and
writeable. When diskname is a device, the following conventions are
used to indicate how a parameter may be accessed: a single asterisk
(*) following a parameter name indicates that the user has read
access in interactive mode; a double asterisk (**) indicates that
the parameter may be read and written in interactive mode; no
asterisk indicates that the parameter is not applicable for a raw
device (i.e., the parameter exists only in the ddefs file).
Comment
This information is general comments. It cannot contain more
than one line. Usually, the comment information is a
description of the drive type supported by the definition file.
If no comment is desired, type none.
Disk type**
This value is any unique integer that is used to identify the
disk drive type. Each size drive on each controller should
have a different type.
Format command
The format program, if specified, is called by dinit(1M) to
format a disk drive. The format program line should specify
all options necessary to format the disk. All drives supported
by UNIX System V/68 and UNIX System V/88 can be formatted
directly by dinit(1M). Therefore this field should be specified
as none.
Diagnostic tracks*
To reserve diagnostic tracks, type yes. If not, type no.
Bad spot strategy*
If the controller only supports perfect media, type perfect.
BAD TRACKS: If bad track replacement is done by the bad
track replacement software, type software. If the
controller automatically performs bad track replacement,
type hardware.
BAD SECTORS: If the controller supports automatic bad
Page 2 8/91
ddefs(1M) ddefs(1M)
sector replacement and requires the cylinder, head, and
sector of each bad sector, then type sector.
BAD SPOTS: If the controller supports automatic bad spot
replacement and requires the cylinder, head, and byte
offset of each bad spot, then type spot.
Maximum number of bad spots
This value is the maximum number of bad spots expected on a
disk of this type. This many alternate spots (sectors or
tracks) will be allocated for this drive.
Number of sectors**
This value is the total number of sectors on the disk drive.
Sector size (in bytes)**
This value is the disk sector size (specified in bytes).
Currently, it must be 128, 256, or 512 bytes.
Sectors per track**
This value is the number of usable sectors per track on the
formatted media.
Cylinders**
This value is the total number of cylinders on the disk media.
Heads**
This value is the number of read/write heads on the drive. It
is equivalent to the number of tracks per cylinder.
Precompensation cylinder**
This value is the disk cylinder number to start write
precompensation.
Sector interleave**
This value is the sector interleave factor used during disk
formatting. For no interleave (or one-to-one interleave), type
1. Some controllers will automatically select an appropriate
interleave factor when given an interleave value of 0.
Spiral offset*
This value is the spiral offset applied when formatting disks.
If no spiral offset is wanted, then type 0.
Step rate**
This value is the seek step rate used when accessing the disk.
Some controllers will automatically select an appropriate step
rate when given a step rate of 0.
Starting head number**
This value is the starting head number of the drive. Most
drives and controllers require a starting head number of zero.
8/91 Page 3
ddefs(1M) ddefs(1M)
ECC error length**
This value is the error correcting code data burst length.
Attributes mask (hex)**
This value is the disk attributes mask. Bits in this mask
determine which bits in the attributes word are valid.
Extended attributes mask (hex)**
This value is the extended attributes mask.
Attributes word (hex)**
This value is the disk attributes word. The (hexadecimal) bit
definitions are:
NAME BIT FIELD USE BIT OFF BIT ON
ATWAS 0x0400 Alternate sectors? no yes
ATWFS 0x0200 Floppy size 5.25" 8"
ATWPC 0x0100 Precomp style pre-write post-read
ATWSK 0x0080 Seek after head change? no yes
ATWDD 0x0040 Track density of drive single double
ATWEN 0x0020 Encoding method FM MFM
ATWDT 0x0010 Disk type floppy hard
ATWSN 0x0008 Sector Numbering Motorola IBM
ATWDS 0x0004 Number of sides single double
ATWTD 0x0002 Track density of floppy 8" floppy 5.25" floppy
ATWMF 0x0001 Data density of medium single double
Extended attributes word (hex)**
This value is the extended attributes word.
Gap byte 1 (hex)**
This value is the first `gap byte' required for formatting a
disk. This parameter is controller-and drive-specific and may
not be used by some controllers.
Gap byte 2 (hex)**
This value is the second `gap byte' required for formatting a
disk. This parameter is controller-and drive-specific and may
not be used by some controllers.
Gap byte 3 (hex)**
This value is the third `gap byte' required for formatting a
disk. This parameter is controller-and drive-specific and may
not be used by some controllers.
Gap byte 4 (hex)**
This value is the fourth `gap byte' required for formatting a
disk. This parameter is controller-and drive-specific and may
not be used by some controllers.
Page 4 8/91
ddefs(1M) ddefs(1M)
Controller attribute (hex)**
This value is controller-and drive-specific information and may
not be used by some controllers.
Unformatted sector size**
This value is the unformatted sector size on the disk including
the headers, gaps, ECC, and data. This parameter is controller
and drive-specific, and may not be used by some controllers.
Sector slip count**
This value is the sector slip count used while formatting to
implement controller supported sector slipping. This count is
the number of `slip' sectors per track.
Slice count*
This value is the dynamic slice count. If zero, the driver
will not use dynamic slicing. Legal non-zero slice counts are
8, 16, 32, 64, and 128. Some controllers support only a subset
of these legal slice counts.
Root file system offset*
This value is the 1024-byte block offset of the root file
system.
Root file system size
This value, if non-zero, is the size of the root file system
(in 512-byte blocks) created on slice zero of the drive after
it is formatted. If no file system is desired, then type 0.
/usr file system size
This value, if non-zero, is the size of the /usr file system
(in 512-byte blocks) created in slice one or two after the
drive is formatted. If no /usr file system is desired, type 0.
The /usr file system is created only if a root file system is
also created.
/usr file system slice
This value specifies the slice for the /usr file system. This
value must not be zero but may coincide with the swap slice.
Swap size
This value, if non-zero, specifies the size of the system swap
space (in 512-byte blocks). The swap space will be placed
following the root file system if the swap slice is set to
zero. If the swap slice and the /usr file system slice are
both one, swap follows the /usr file system in slice one.
Swap slice
This value specifies the swap slice. It may be set to zero (to
share the root file system slice), or to one (to occupy its own
slice or share with the /usr file system), or to two (to occupy
8/91 Page 5
ddefs(1M) ddefs(1M)
its own slice following the /usr file system slice).
End-of-disk reserved area
This value is the number of blocks reserved for system use at
the end of the disk. This area may be used for bad track
alternates or for diagnostic tracks.
Alternates list
To add to the alternates list, type add #[-#]. To delete from
the alternates list, type delete #[-#]. The `#' is any non-
zero number. The sequence `#-#' specifies a range of non-zero
numbers (including the end-points). To have no alternates,
type none. The value printed in parentheses is the total
number of alternates in the list.
When creating a disk description using ddefs, the following
information must be given to have dinit(1M) create a slice table:
⊕ A non-zero slice count; currently restricted to 0, 8, 16, 32, 64,
128.
⊕ The root file system offset.
⊕ The root file system size.
⊕ The size of swap (if any).
⊕ If swap is defined, what slice it resides on (allowable slices:
0, 1, 2).
⊕ The /usr files system size (if any).
⊕ If /usr is defined, what slice it resides on (allowable slices:
0, 1, 2).
⊕ The size of the ``end-of-disk'' reserved area. This area is used
for diagnostic and/or alternate tracks.
NOTES
The elements ``root file system size'', ``/usr file system slice'',
``swap size'', and ``swap slice'' are not used and are present to
maintain backwards compatibility.
FILES
/etc/dskdefs/* disk definition file
SEE ALSO
dinit(1M).
Page 6 8/91