Subject: boot tape (was: Is Sun4 (VMEbus) support any better)
To: None <port-sparc@netbsd.org>
From: Gordon W. Ross <gwr@netbsd.org>
List: port-sparc
Date: 03/09/1999 00:21:39
Sun boot tapes work like this:

The first segment has to be a boot program.  The PROM will
load it at a fixed location and jump to its beginning.
Anything after that is up to the boot program.

The "tapeboot" program I wrote for the Sun3 allows the
specification of a "segment number" as the kernel name,
and will attempt to load a kernel from that segment.
(I used that to allow separate Sun3/Sun3X kernels.)
The segment number is one by default (the segment
immediately following the boot program on tape).

The kernel used on a boot tape should be one of those
RAMDISK configurations that can run fully standalone
(no actual root or swap device used).  On the Sun3 I
put together an incredibly small (256K!) RAMDISK that
provides the minimum needed to partition a disk and
copy the miniroot from its tape segment into swap.

Porting tapeboot to the sparc:

The tapeboot program should build as-is on the sparc.
(Both Sun3 and SPARC boot code had common roots...)

Then all you need is a RAMDISK kernel of some sort.
Whatever was used on the boot floppy should be OK.

Feel free to send me questions if you like.

Gordon


Curt Sampson writes:
 > On Tue, 9 Mar 1999, Harald Barth wrote:
 > 
 > > #   segment 0:  tapeboot
 > > #   segment 1:  netbsd.sun3  (RAMDISK3)
 > > #   segment 2:  netbsd.sun3x (RAMDISK3X)
 > > #   segment 3:  miniroot image
 > 
 > Right. We obviously need only one image, as all Sparc systems can
 > use the same kernel. (The 3 and 3x used different kernels in 1.3.)
 > 
 > > I have not found any evidence how to build the tapeboot.
 > 
 > For the Sun 3, it's in src/sys/arch/sun3/stand/tapeboot. We don't
 > have a tapeboot for sparc at the moment, and getting this put
 > together is probably the hardest part, though I don't think it
 > should be that hard. I'd copy the sun3 stuff and work from there,
 > and ask Sparc experts here if you get into trouble. :-)
 > 
 > > What is a good kernel config for this? Enable SUN4 in
 > > /usr/src/sys/arch/sparc/conf/INSTALL.
 > 
 > Yeah, I'd suggest that. Leave the others enabled, too, though;
 > might as well make the boot tape work on as many systems as possible.
 > 
 > cjs
 > --
 > Curt Sampson  <cjs@cynic.net>   604 801 5335   De gustibus, aut bene aut nihil.
 > The most widely ported operating system in the world: http://www.netbsd.org
 >