HK(4) UNIX Programmer's Manual HK(4) NAME hk - RK6-11/RK06 and RK07 moving head disk SYNOPSIS /sys/conf/SYSTEM: NHK _h_k__d_r_i_v_e_s # RK611, RK06/07 /etc/dtab: #Name Unit# Addr Vector Br Handler(s) # Comments hk ? 177440 210 5 hkintr # rk611/711 rk06/07 major device number(s): raw: 13 block: 4 minor device encoding: bits 0007 specify partition of HK drive bits 0070 specify HK drive DESCRIPTION Files with minor device numbers 0 through 7 refer to various portions of drive 0; minor devices 8 through 15 refer to drive 1, etc. The standard device names begin with ``hk'' followed by the drive number and then a letter a-h for par- titions 0-7 respectively. The character ? stands here for a drive number in the range 0-7. The block files access the disk via the system's normal buffering mechanism and may be read and written without regard to physical disk records. There is also a `raw' interface which provides for direct transmission between the disk and the user's read or write buffer. A single read or write call results in exactly one I/O operation and there- fore raw I/O is considerably more efficient when many words are transmitted. The names of the raw files conventionally begin with an extra `r.' In raw I/O the buffer must begin on a word (even) boundary, and counts should be a multiple of 512 bytes (a disk sec- tor). Likewise _s_e_e_k calls should specify a multiple of 512 bytes. DISK SUPPORT Disks must be labeled using either the standalone _d_i_s_k_l_a_b_e_l program on the boot tape or with the _d_i_s_k_l_a_b_e_l(8) program. There are no partition tables coded into the _h_k drivers, these must be placed on the drive with _d_i_s_k_l_a_b_e_l. Traditionally the _h_k?_a partition is used for the root filesystem, the _b partition as a swap area and the _c parti- tion for disk to disk copying (it spans the entire disk). Printed 11/26/99 December 28, 1997 1 HK(4) UNIX Programmer's Manual HK(4) The kernel uses the _c partition to access the bad block information stored at the end of some packs. Extreme care must be taken when creating file systems on this partition to avoid overwriting any bad block information present. User data should use the _h partition which should be at least one track (one cylinder might be best) shorter than the _c partition. FILES /dev/hk[0-7][a-h] block files /dev/rhk[0-7][a-h] raw files /dev/MAKEDEV script to create special files /dev/MAKEDEV.local script to localize special files SEE ALSO ra(4) ram(4), rk(4), rl(4), rx(4), si(4), xp(4), dtab(5), autoconfig(8), disklabel(8) DIAGNOSTICS hk%d%c: hard error sn%d cs2=%b ds=%b er=%b. An unrecover- able error occurred during transfer of the specified sector of the specified disk partition. The contents of the cs2, ds and er registers are printed in octal and symbolically with bits decoded. The error was either unrecoverable, or a large number of retry attempts (including offset positioning and drive recalibration) could not recover the error. hk%d: write locked. The write protect switch was set on the drive when a write was attempted. The write operation is not recoverable. hk%d: not ready. The drive was spun down or off line when it was accessed. The i/o operation is not recoverable. hk%d: not ready (came back!). The drive was not ready, but after printing the message about being not ready (which takes a fraction of a second) was ready. The operation is recovered if no further errors occur. hk%d%c: soft ecc sn%d. A recoverable ECC error occurred on the specified sector of the specified disk partition. This happens normally a few times a week. If it happens more frequently than this the sectors where the errors are occur- ing should be checked to see if certain cylinders on the pack, spots on the carriage of the drive or heads are indi- cated. BUGS In raw I/O _r_e_a_d and _w_r_i_t_e(2) truncate file offsets to 512- byte block boundaries, and _w_r_i_t_e scribbles on the tail of incomplete blocks. Thus, in programs that are likely to access raw devices, _r_e_a_d, _w_r_i_t_e and _l_s_e_e_k(2) should always Printed 11/26/99 December 28, 1997 2 HK(4) UNIX Programmer's Manual HK(4) deal in 512-byte multiples. DEC-standard error logging should be supported. A program to analyze the logged error information (even in its present reduced form) is needed. Printed 11/26/99 December 28, 1997 3