Subject: Can't make a usable install tape: Problem solved
To: L. Brett Glass <rogue@well.com>
From: Brett Glass <Brett_Glass@ccgate.infoworld.com>
List: netbsd-bugs
Date: 12/26/1995 00:03:02
Earlier this evening, I reported that the NetBSD install tape I
created would not work; the loader reported "exec: short read" while
loading the RAM disk kernel. After a little reflection, it occurred to me
that perhaps the "shoeshining" noises I heard from the tape drive as I
wrote the tape reflected an underflow problem. So, instead of using the
supplied script to create the tape, I un-gzipped the RAM disk kernel and
the "miniroot" and modified the script to use the uncompressed files
directly. (To do this, just delete all the piping and redirection and add
if=netbsd-rd and if=miniroot, respectively, to the second and third dd
commands.)

I then dropped the 3/50 into SINGLE-USER MODE (to kill all a' them
cycle- and memory-eating daemons) and tried writing a tape again.  This
time, the drive streamed in two long bursts and took about 1/30th the time
to finish. Haven't tried to load the miniroot from it yet, but at least the
RAM disk kernel boots.

The moral, I guess, is not to put big, compute-intensive programs like
gunzip in the pipe when writing tapes -- especially on a machine with
limited computing power that can't read the hard disk while the tape
drive is working.  (That's right, folks -- on older Sun 3's, the SCSI
subsystem doesn't support disconnect/reconnect, and the tape drive
doesn't give up the bus until it's finished with a command. This is even
true on rewinds, or so the man pages say.) The NetBSD folks might want to
change the recommended installation procedure to reflect this.

--Brett Glass