Subject: Binary snapshot available
To: None <port-hp300@NetBSD.ORG>
From: Jason Thorpe <thorpej@NetBSD.ORG>
List: port-hp300
Date: 03/15/1997 14:50:52
Hi Folks...

I've just put up a binary snapshot of March 13 vintage sources, with
a few changes to support the m68k8k executable format.  I have since
committed those changes, which will appear in the next SUP scan.
(I committed them after uploading the snapshot to the FTP server, to
make the transition easier.)

Attached below is the README that accompanies the snapshot.  PLEASE READ
IT!  It contains important information regarding upgrading your system
to the new executable format.

Note that this snapshot does not include a miniroot.  As soon as I fix
the bugs in SYS_INST, I will build and upload a miniroot and prerelease
style snapshot.

If you follow the instructions in the README, I don't anticpate any
problems.  If you do hit snags, however, please let me know, and I'll do
my best to help you out.  If possible, send a PR using the send-pr(1)
program and/or CC the port-hp300 list.

Have fun, and good luck!

Jason R. Thorpe <thorpej@netbsd.org>
NetBSD/hp300 portmeister

 ----- snip README snip -----

Sat Mar 15 13:14:15 PST 1997

This is a binary snapshot of NetBSD/hp300 1.2C, build from NetBSD-current
sources from March 13, 1997 with a few minor changes designed to ease
the transition from m68k4k a.out to m68k8k a.out executable formats.

Since these executables are m68k8k format, you _must_ install one of
the provided snapshot kernels before installing any of these executables.
If you do not, you will no longer be able to use your system!  Once
you install the new executables, you will _not_ be able to boot a
running system with old kernels!

Note that, due to a bug in the older boot blocks, you _must_ install a
new boot block before booting a new kernel!  New boot blocks will be
able to boot old- or new-format kernels.  Once you install the boot
block, make sure it is revision 1.7 (printed in the banner when the
boot program starts).

The recommended upgrade procedure is:

	(1) Install new boot block:

		cp uboot.lif /usr/mdec
		cd /usr/mdec
		./installboot uboot.lif /dev/rXXNc

	    ...where XXN is the name of your root disk, e.g. sd0, rd0, etc.

	(2) Backup your old kernel:

		cp /netbsd /netbsd.old

	(3) Install and boot new kernel:

		cp netbsd-gen /netbsd
		reboot

	(4) Once you have verified that the new kernel works with
	    your system, untar the executables and the rest of the
	    snapshot.  NOTE: you _must_ have an up-to-date ld.so
	    in order for your old shared libraries to work with
	    new-format executables and vice-versa.  With that in
	    mind, you will probably want to untar the binary sets
	    in the following order:

		[ Make a backup of your /usr/libexec/ld.so! ]

		usr.libexec.tar.gz

		[ Verify that programs work with the new ld.so. ]

		[ Make a backup of your latest /usr/lib/libc.so.*! ]

		usr.lib.tar.gz

		[ Verify that programs work with the new libraries. ]

		[ then the rest, order doesn't matter at this point ]

	    Make sure that you are in / and use the following tar command:

		tar --unlink -zxvpf /path/to/file.tar.gz

	(5) Get the latest sources (by whichever method you choose)
	    and build a new kernel.  Before you build your kernel,
	    make absolutely sure you have the correct revisions
	    of the following files:

		src/sys/arch/hp300/include/aout_machdep.h
	$NetBSD: aout_machdep.h,v 1.13 1997/03/15 21:59:20 thorpej Exp $

		src/sys/arch/hp300/include/param.h
	$NetBSD: param.h,v 1.30 1997/03/15 22:01:02 thorpej Exp $

		src/sys/arch/hp300/include/vmparam.h
	$NetBSD: vmparam.h,v 1.10 1997/03/15 22:02:24 thorpej Exp $

	    Also, make _absolutely_ sure you have the following option
	    in your kernel config file:

	options		COMPAT_M68K4K	# compat. with NetBSD/m68k4k binaries

	    If you don't, your new kernel will not be able to run your
	    old executables!

	    When you build your kernel, you _must_ clean out all of
	    your old object files!

		config <your kernel>
		cd ../../m68k/fpsp; make clean
		cd ../../hp300/compile/<your kernel>; make clean
		make depend && make

	(6) Make a backup of the generic kernel you installed in
	    step (3).

		cp /netbsd /netbsd.old

	(7) Boot your new kernel.

		cp netbsd /netbsd
		reboot

	(8) Build a new userland by whichever method you use.
	    NOTE: you _must_ clean out _all_ of your current object
	    files before you rebuild the system!

		cd /usr/src; make cleandir

	(9) Install the userland you just built.

	(10) Have the beverage of your choice!  You've successfully
	     upgraded your NetBSD/hp300 system to m68k8k!

Now that NetBSD/hp300 uses the same executable format as the rest of
the m68k ports, we can work towards having a unified m68k binary
distribution for NetBSD on m68k.

If you follow the above upgrade procedure, the process should be
painless.  If, however, you experience problems, please contact
me ASAP (please make sure to at least CC port-hp300@netbsd.org).

Have fun, and good luck!

	-- Jason R. Thorpe <thorpej@netbsd.org>
	   NetBSD/hp300 portmeister