Annotation of 43BSDReno/usr.sbin/bad144/bad144.8, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1980, 1988 Regents of the University of California.
                      2: .\" All rights reserved.  The Berkeley software License Agreement
                      3: .\" specifies the terms and conditions for redistribution.
                      4: .\"
                      5: .\"    @(#)bad144.8    6.6 (Berkeley) 6/24/90
                      6: .\"
                      7: .TH BAD144 8 "June 24, 1990"
                      8: .UC 4
                      9: .SH NAME
                     10: bad144 \- read/write dec standard 144 bad sector information
                     11: .SH SYNOPSIS
                     12: .B bad144
                     13: [
                     14: .B \-f
                     15: ] [
                     16: .B \-c
                     17: ] [
                     18: .B \-v
                     19: ]
                     20: disk
                     21: [ sno [
                     22: bad ...
                     23: ] ]
                     24: .br
                     25: .B bad144
                     26: .B \-a
                     27: [
                     28: .B \-f
                     29: ] [
                     30: .B \-c
                     31: ] [
                     32: .B \-v
                     33: ]
                     34: disk
                     35: [
                     36: bad ...
                     37: ]
                     38: .SH DESCRIPTION
                     39: .I Bad144
                     40: can be used to inspect the information stored on a disk that is used by
                     41: the disk drivers to implement bad sector forwarding.  The format of
                     42: the information is specified by DEC standard 144, as follows.
                     43: .PP
                     44: The bad sector information is located in the first 5 even numbered sectors
                     45: of the last track of the disk pack.  There are five identical copies of
                     46: the information, described by the
                     47: .I dkbad
                     48: structure.
                     49: .PP
                     50: Replacement sectors are allocated starting with the first sector before
                     51: the bad sector information and working backwards towards the beginning
                     52: of the disk.  A maximum of 126 bad sectors are supported.  The position
                     53: of the bad sector in the bad sector table determines the replacement
                     54: sector to which it corresponds.
                     55: The bad sectors must be listed in ascending order.
                     56: .PP
                     57: The bad sector information and replacement sectors are conventionally
                     58: only accessible through the ``c'' file system partition of the disk.  If
                     59: that partition is used for a file system, the user is responsible for
                     60: making sure that it does not overlap the bad sector information or any
                     61: replacement sectors.
                     62: Thus, one track plus 126 sectors must be reserved to allow use
                     63: of all of the possible bad sector replacements.
                     64: .PP
                     65: The bad sector structure is as follows:
                     66: .PP
                     67: .ta .75i 1.5i 3.5i
                     68: .nf
                     69: struct dkbad {
                     70:        long    bt_csn; /* cartridge serial number */
                     71:        u_short bt_mbz; /* unused; should be 0 */
                     72:        u_short bt_flag;        /* -1 => alignment cartridge */
                     73:        struct bt_bad {
                     74:                u_short bt_cyl; /* cylinder number of bad sector */
                     75:                u_short bt_trksec;      /* track and sector number */
                     76:        } bt_bad[126];
                     77: };
                     78: .fi
                     79: .PP
                     80: Unused slots in the
                     81: .I bt_bad
                     82: array are filled with all bits set, a putatively
                     83: illegal value.
                     84: .PP
                     85: .I Bad144
                     86: is invoked by giving a device name (e.g. hk0, hp1, etc.).
                     87: With no optional arguments
                     88: it reads the first sector of the last track
                     89: of the corresponding disk and prints out the bad sector information.
                     90: It issues a warning if the bad sectors are out of order.
                     91: .I Bad144
                     92: may also be invoked with a serial number for the pack and a list
                     93: of bad sectors.
                     94: It will write the supplied information into all copies
                     95: of the bad-sector file, replacing any previous information.
                     96: Note, however, that 
                     97: .I bad144
                     98: does not arrange for the specified sectors to be marked bad in this case.
                     99: This procedure should only be used to restore known bad sector information which
                    100: was destroyed.
                    101: .PP
                    102: With the
                    103: .B \-a
                    104: option,
                    105: the argument list consists of new bad sectors to be added to an existing
                    106: list.
                    107: The new sectors are sorted into the list,
                    108: which must have been in order.
                    109: Replacement sectors are moved to accommodate the additions;
                    110: the new replacement sectors are cleared.
                    111: The entire process is described as it happens in gory detail if
                    112: .B \-v
                    113: (verbose) is given.
                    114: The
                    115: .B \-c
                    116: option forces an attempt to copy the old sector to the replacement,
                    117: and may be useful when replacing an unreliable sector.
                    118: .PP
                    119: If the disk is an RP06, RM03, RM05, Fujitsu Eagle,
                    120: or SMD disk on a Massbus, the
                    121: .B \-f
                    122: option may be used to mark the new bad sectors as ``bad''
                    123: by reformatting them as unusable sectors.
                    124: This option is required unless the sectors have already been marked bad,
                    125: or the system will not be notified that it should use the replacement sector.
                    126: This option may be used while running multiuser; it is no longer necessary
                    127: to perform format operations while running single-user.
                    128: .PP
                    129: It is no longer necessary to reboot to allow the kernel
                    130: to reread the bad-sector table from the drive.
                    131: .SH SEE ALSO
                    132: badsect(8),
                    133: format(8V)
                    134: .SH BUGS
                    135: It should be possible to format disks on-line under UNIX.
                    136: .PP
                    137: It should be possible to mark bad sectors on drives of all type.
                    138: .PP
                    139: On an 11/750,
                    140: the standard bootstrap drivers used to boot the system do
                    141: not understand bad sectors,
                    142: handle ECC errors, or the special SSE (skip sector) errors of RM80-type disks.
                    143: This means that none of these errors can occur when reading the file
                    144: /vmunix to boot.  Sectors 0-15 of the disk drive
                    145: must also not have any of these errors.
                    146: .PP
                    147: The drivers which write a system core image on disk after a crash do not
                    148: handle errors; thus the crash dump area must be free of errors and bad
                    149: sectors.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.