Annotation of 43BSDReno/usr.sbin/bad144/bad144.8, revision 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.