Newsgroups: comp.os.linux.announce
From: jhonan@kralizec.zeta.org.au (Jamie Honan)
Subject: Boot code for networked/diskless Linux
Message-ID: <1993Jun19.200403.14634@dg-rtp.dg.com>
Approved: linux-announce@tc.cornell.edu (Matt Welsh)
Date: Sat, 19 Jun 93 20:04:03 GMT

Boot code suitable for making into a prom for diskless workstations is now 
available.

It is available on sunsite.unc.edu, under the directory
/pub/Linux/system/Linux-boot, filename netboot.zoo

Also available at sunsite (at the moment under Incoming, soon in the same
Linux-boot directory) is rampatch10.tgz, patches to the kernel to allow
net-loading of the ramdisk. This file also has a readme and a program for
creating a header suitable for the prom.

The features of this program are:

	The network boot program allows the booting of PC's from
	a host running TCP/IP protocols. This supports diskless
	workstations and X terminals. It can also be used for
	embedded controllers.

	Two UDP/IP protocols are used: bootp and tftp.

	The network boot program can be used in one of three ways:

	- as a prom on a network adaptor card
	- as the boot program on a floppy disk
	- as an MSDOS program, run first thing after booting

	This code implements my draft specification for network boot
	images, which is in the above file. This defines a vendor independent
	format for boot images.

	The network boot program is able to load data into memory locations
	above the 1 Meg barrier.

	The code demonstrates how rom code can be generated from C.

	The code is written without any library calls, that is, all string,
	print etc. functions are included.


Requirements:

In order to use this program you will need to set up a server host
with the bootpd server and the tftpd server. This could also be a Linux
system.

You will need to have a suitable network adaptor. At the moment I have
only ported the WD Ethernet card code from the original NCSA suite of
programs. The original drivers are provided, you can use the WD
code as a template for your changes.

The bootpd server is available for Linux PL10 and later. Fred's
utilities include the bootpd server program. Pre-net-2 systems (PL < 10)
will not work properly.

Setting up:

There are two parts to setting up. One side, the booting PC, is the client.
The other side is the server.

Setting up the boot PC (the client) is described in the readme file in
netboot.zoo.

The notes as to how to set up a Linux _server_ to support
the booting PC are given in the file rampatch10.tgz. This file
also contains patches to the kernel to allow ramdisk loading at the
same time as the kernel. (There is an older rampatch.tgz, don't confuse).

The ramdisk is important, since it will be the root device for a diskless
workstation. From the ramdisk you can mount remote NFS file systems.

All this is BETA code. Don't expect a production system
straight away. Your use is part of the testing process, not
the end result.

At the moment my netboot only supports WD cards. In addition
I have only tested the floppy and DOS versions. The prom 
version I have not tested, since I don't have a burner.
(Anyone in Sydney got a spare one they can lend for a while?)
I believe any bugs between the floppy version and the prom
version will be minor.

Jamie Honan


--
Send submissions for comp.os.linux.announce to: linux-announce@tc.cornell.edu
