Subject: Re: 3/60 Not Booting?
To: None <mad@Poseidon.Token.Net>
From: Gordon W. Ross <gwr@mc.com>
List: port-sun3
Date: 10/01/1996 14:58:35
> Date: Mon, 30 Sep 1996 13:00:32 -0400 (EDT)
> From: Mike Dugas <mad@Poseidon.Token.Net>

> On Mon, 30 Sep 1996, Gordon W. Ross wrote:
> 
> > > Date: Sun, 29 Sep 1996 22:47:17 -0400
> > > From: Mike Dugas <mad@Poseidon.Token.Net>
> > > 
> > > Hello-
> > > 
> > > I have a Sun 3/60 I am trying to get running (it should have been running
> > > yesterday, really), but I have a problem.  I'm making the tapes on my Linux
> > > box, and they boot fine, so I know it's reading them properly, but when
> > > I try to boot the boot tape, I get this:
> > > 
> > > Auto-boot in progress...
> > > 
> > > EEPROM boot device...st(0,0,0)
> > > >> NetBSD tapeboot [$Revision 1.3 $]
> > > 466260+284056+87436+[41688+45445]exec: short read
> > > tapeboot: 1: Input/output error
> > > tapeboot: segment? [1]
> > >
> > > And my cursor sits on the last line waiting for my input.
> > >  What should I do?
> > 
> > Just press enter.
> > 
> 
> I've tried everything.  I've pressed enter, I've typed 2, I've typed 3,
> I can't get it to work at all.  I even went to the extent of pulling
> memory, and making the tape and having mt write the eof at the end of each
> tape segment.  I can't get it to work AT ALL.
> 
> Help! :)
> 
> /mad

Sorry for the "flip" answer earlier.  I didn't notice the "short read"
error, which is very significant.  When you make your boot tape, make
sure the whole kernel is written in the second segment.  Doing that
correctly will require either a conv=sync option on dd (in addition
to using "obs=8k" or whatever) or else you need to pad out the length
of the kernel image in advance (make its length a multiple of 512).

Here is the current MakeBootTape script:  (works on SunOS...)

#!/bin/sh

# Here is a generic script that makes a Sun3 boot tape using
# the files in this directory.

T=${1:-/dev/nrst0}
set -x

# Make sure we start at the beginning.
mt -f $T rewind

# Segment 1 is the tapeboot program.
dd if=tapeboot of=$T obs=8k conv=sync

# Segment 2 is the ramdisk kernel.
gzip -d -c netbsd-rd.gz | dd of=$T obs=8k conv=sync

# Segment 3 is the miniroot image, unzipped!
gzip -d -c miniroot.gz | dd of=$T obs=8k

# Done!
mt -f $T rewind