Subject: Re: HyperSPARC woes...
To: None <tooch@firmworks.com, Chris_G_Demetriou@ux2.sp.cs.cmu.edu,>
From: Matthew Jacob <mjacob@feral.com>
List: port-sparc
Date: 10/26/1996 15:33:24
Content-Length: 1280

> So, NetBSD uses the same source code on all of the sparc architectures
> for the boot blocks, and even the same binary.  the problem is, from
> what I can tell, when installed the primary boot block must have its
> a.out header stripped off on the sun4.  (Note that that analysis of
> the difference between 4c/4m and 4 comes from spending a minute or two
> looking at the NetBSD 'installboot' source code.)

This is correct. On disks, the first-stage boot program cannot have
a a.out header on machines with an old-style prom, and must have one
on systems with an Openboot prom (the second-stage boot file on disk
does not have that restriction). The same applies to the boot program
transferred by TFTP when net-booting.

> Therefore, the boot block looks different _on disk_ between the 4 and
> 4c/4m...  And so you can't move a disk between a sun4 and a sun4 or
> sun4m without changing the boot block.

Yes, this is a bit of a bummer, especially since at the moment this is also
true for miniroot images.

If someone knows of a sane workaround I'd love to hear about it. One trick
I've thought about (but never tried) is to munge the a.out header to
contain sufficient valid instructions (the magic number already is one)
to keep rolling. Not my idea of sane, but...

-pk



----- End Included Message -----