Subject: Re: DNIX -> NetBSD?
To: Johan Kuuse <kuuse@redantigua.com>
From: Steve Woodford <scw@netbsd.org>
List: port-mvme68k
Date: 07/19/2002 09:01:50
On Thu, 18 Jul 2002, Johan Kuuse wrote:

> I have a challenging task, to run NetBSD on a DIAB/Dynatech DS90 M68040.
> Do you have some useful links where to start looking?

The programming docs for the board should be your first port of call. CPU
support will be easy; NetBSD already runs on the 040. Chances are, drivers
will already exist for many of the onboard devices.

If the board has a network interface, it's usual to get things
bootstrapped using root on NFS. That way if things go wrong, you don't
waste half your time fscking local disks.

Use a faster machine to cross-compile. I recommend basing your port on the
1.6 branch for now (tracking -current for a new port can be a real pain).
Pick one of the existing 68k architectures and build a cross-toolchain.

	host$ cd /usr/src
	host$ ./build -Uo -m mvme68k -T /a-suitable-tooldir -t

Decide on a name for your port. Perhaps "diab68k"? Create a diab68k
subdirectory under sys/arch and populate it appropriately.

	host$ cd /a-suitable-tooldir/bin
	host$ cp nbmake-mvme68k nbmake-diab68k

Edit nbmake-diab68k and substitute "mvme68k" for "diab68k".

You *may* have to edit some of the files in src/share/mk.

You can now create a kernel config file in sys/arch/diab68k/conf, run
config(8) on it and try cross-compiling:

	host$ cd sys/arch/diab68k/compile/DS90
	host$ /a-suitable-tooldir/bin/nbmake-diab68k dependall

Once your kernel builds, how you get it on the target board is entirely up
to you. It might be necessary to write a boot-loader. See the "stand"
sub-directory of the other 68k ports.

Userland can be cross-built using the "build.sh" script. You may need to
add "diab68k" to some Makefiles in the tree to get everything built.

Once everything's working and if you plan on contributing the port back to
NetBSD, ask an existing developer to sponsor you so you can maintain and
enhance the port in the future.

HTH.

Cheers, Steve