Subject: Re: etc/Makefile: snapshots in release(7) format
To: None <tech-toolchain@netbsd.org>
From: Curt Sampson <cjs@cynic.net>
List: tech-toolchain
Date: 02/08/1999 11:22:58
Ok, I get it now. It sounds to me like we can live without making
special exceptions in the etc/Makefile code for the PMAX, then,
which was my main worry here, so long as `make depend && make' in
config/GENERIC produces an a.out kernel.

The standard build procedure puts a GENERIC kernel named `netbsd'
in kern.tgz, and this is installed by sysinst. For the pmax, you
also need to add whatever goop is necessary to etc.pmax/Makefile.inc
to compile your netbsd.ecoff and nfsnetbsd.ecoff kernels, and plop
them into ${RELEASEDIR}/binary/kernel. (They will be checksummed
automatically for you after your md target in etc.pmax/Makefile.inc
runs.) And do whatever goop sysinst needs to install this, if you're
not going to have the two-stage bootstrap by 1.4.

If setting EXTRA_KERNELS in etc.pmax/Makefile.inc doesn't do the
build in the way you need (which sounds like it might not, unless
the differences between ecoff and a.out kernels are taken care of
in the kernel config file), you can put a new snap_md target in
your Makefile.inc that does what you need. The snap_kern target in
etc/Makefile may provide some clues on what to do.

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

On Mon, 8 Feb 1999, Simon Burge wrote:

> From: Simon Burge <simonb@telstra.com.au>
> To: Curt Sampson <cjs@cynic.net>
> Cc: tech-toolchain@netbsd.org
> Subject: Re: etc/Makefile: snapshots in release(7) format 
> Reply-To: tech-toolchain@netbsd.org
> Date: Mon, 08 Feb 1999 14:33:45 +1100
> 
> On Sun, 7 Feb 1999 17:39:21 -0800 (PST)  Curt Sampson wrote:
> 
> > I'm not really sure I'm understanding the problem you're talking
> > about here. (In fact, I'm sure I don't understand it.)
> 
> Welcome to the pmax :-)  Rememebering that we use an ELF toolchain, this
> is roughly how it works:
> 
>  + To boot from a disk with NetBSD bootblocks, you need an a.out kernel.
> 
>  + To boot from a disk with Ultrix bootblocks, you need an ecoff kernel.
> 
>  + To netboot, you need to tftp load an ecoff kernel, but have an a.out
>    kernel in the NFS root to read symbols from (I think - this was my
>    first question above).
> 
> There are plans afoot to write a 2 stage boot system.  Michael Hitch has
> almost had the disk 2 stage boot working a while ago, and I'm beating up
> on that now.  The plan for this is that the second stage can read a.out,
> ecoff and ELF kernels (ELF being preferred).
> 
> Hopefully a 2 stange network boot loader will follow that, because not
> all pmaxs can load the standard ecoff netboot kernel because it's too
> large.  The plan for this is for the second stance to NFS mount the root
> fs and pull the kernel in from there.
> 
> Pmax's can also boot from tape drives too, but I haven't even thought of
> that yet (and I don't _think_ we support it at the moment).
> 
> 
> At the moment, each release ships with three kernels (although this
> will probably change now the pmax has ramdisk support):
> 
>  + netbsd           - a GENERIC a.out kernel for booting of disk and
>                       loading symbols.
>  + netbsd.ecoff     - an ecoff version of above for netbooting.
>  + nfsnetbsd.ecoff  - a stripped down INSTALL kernel for netbooting
>                       with buggy PROMs that can't tftp a normal sized
>                       kernel.
> 
> 
> Confused enough now?  :-)
> 
> Simon.
>