How to install and run the kernel

Since source is not yet available, you'll have to grab a precompiled kernel (linux.gz). It is presupposed that you know how to set up BOOTP, TFTP, and NFS servers. If you don't, you might have a look at the NFS HOWTO and the bootptab(5) and in.tftpd(8) manual pages.

As mentioned elsewhere, this thing boots off of the network. There is no local disk. There are 3 main stages to the boot process.

BOOTP

A sample bootptab snippet follows.

example:\
    :ht=ethernet:ha=008096012345:\
    :ip=1.2.3.5:sm=255.255.255.0:\
    :hd=/tftpboot/1.2.3.5:bf=linux:
It indicates that the kernel will be installed at (relative to TFTP's root) /tftpboot/1.2.3.5/linux.

TFTP

Nothing unusual about it; just put the kernel in a position consistent with the bootptab entry. Some, but not all, TFTP servers chroot to a "safe" directory before servicing requests, so you might have to interpret the path from BOOTP relative to that "safe" directory.

NFS root

This is really the hairiest part of the whole affair, as it is with any small system that you are building from scratch. A command line of nfsroot=/tftpboot/%s/fs/root is hardcoded into the kernel. This dictates that for this example setup, the root filesystem will begin at /tftpboot/1.2.3.5/fs/root/. I have been successful populating it from a slightly modified version of Keith's build_world script. Do note that using Keith's distribution, you'll have to change -AJF to -ACA in basic.mk to keep from ending up with illegal instructions. Oh, and you'll also have to arrange to copy the files to your NFS root because his script assumes you want to build a ROM filesystem, which you don't.