Subject: Re: tftp boot
To: None <port-pmax@NetBSD.ORG>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: port-pmax
Date: 07/05/1997 00:34:34
On Sat, 5 Jul 1997 16:34:53 +1000 (EST),
    Gregory McGarry <gmcgarry@lux.sprc.qut.edu.au> writes:

 >I get the following error during a tftp boot of the
 >nfsnetbsd.ecoff kernel on a DS5000/25:
 >
 >844736+41600?IO: 3/tftp, a.out err (-5)
 >
 >during the boot command
 >
 > >> boot 3/tftp/nfsnetbsd.ecoff


This is a PROM bug.

Or at the very least, it's an an incompatiblity between the PROM
version in your 5000/25, and the ECOFF format produced by elf2ecoff.

I have a rev 2.1K 5000/150 that *can* TFTPboot 3Mbyte Ultrix kernels,
but cannot TFTPboot NetBSD kernels at all.  What you're seeing may be
a similar problem.  All I've found so far is that elf2ecoff munges the
ECOFF-specific sections into text/data/bss with no explicit
.reginfo/.sbss/.sdata/ sections; this may be confusing an old PROM.
This is definitely PROM-version specific: the newer PROMs in 5000/200s
and 5000/240s in the lab here hae no such problem.

The GNU binutils objcopy doesn't work either; produces ecoff-format
files that might compl ete TFTP-loading but crash on start. Same with
using GNU ld to produce ECOFF-format binaries directly.

 >The same error happens with netbsd.ecoff.
 >It is distinct to the error obtained when trying to
 >boot netbsd.elf:
 >
 >IO: 3/tftp, a.out err (-2)
 >
 >Is this information useful?:

It would be much more useful with the specific PROM version. Then it
could be added to a list of known-not-to-work PROM versions.  For
example, 3100s with rev 7.0 PROMs apparently cannot boot kernels over
~1Mbyte; 7.01 works fine.


I wonder if changing the fixed 4K padding (!) between sections in the
ldscript to just aligning to a 4K boundary would help on the IOasic
machines.  That would also eliminate warnings from elf2ecoff about
intersegment gaps.     

Arne, any idea why your ldscript has a fixed 4K gap, rather than
aligning to the next 4K boundary?