4. Testing the system

4.1 Just get it to work first

Getting the boot rom or floppy to work should be relatively easy.
Its the booting of the kernel and the init routines that require a bit of attention.
If the boot rom is working and the server bootp setup is correct then the kernel will be loaded into
the workstation. From here the system will try to run init and the rc.d scripts. Its at this point
that you decide what you want the system to do.
If this is the first time that you have ever look at netboot then don't expect it to work first up.
To get the system to start I even went to the effort of copying init files and /etc files from the servers directory into the nfs directory. This allowed me to get a running system , all be it
incorrect , then I could log into the workstation as root and play with the setup files and config
files until I was happy with what I had done.
For the unix guru's out there, this may seem a bit time consuming but for the newbies
(which are growing in number) this seems to be a reasonable and successful direction to take.  Comments welcome.

4.2 Fine tune to your requirement

With the diskless workstation not able to use any disk swap memory it would be a tall ask
to have the station do tasks that require massive amounts of memory. So it is important that
the station is designed with a lightweight minimal systems approach.
My main workstation has 32 MB of ram and is able to run X window system admirably.
My 386 that I still have for playing with has 8 MB of ram and worked well also (for a 386)
using X window system.
The thing to keep in mind is that the workstation does not want programs (like say sendmail)
running in the background chewing up memory and doing nothing on a system not using the
sendmail functions. So check the initrc files to make sure that only the absolute necessary
functions of the workstation are started at boot time. Memory is precious.
(end pep talk)

4.3 My system uses X

Here I'll try to show how I set up my diskless workstation to be an Xterminal.
With all the netboot part working the only thing left for me to do was to work out how to get
the X window system to start.
Before geting into the meathod that I chose, let me start by explaning that my office is relativly
small and only one server is used for the run of the mill work. Therefore chooser was not
necessary and all that was required was an xdm style login.

I'll start with inittab.....
In /etc/innitab (really /tftpboot/Xterm1/etc/inittab ) I make the system start up in run level 5 (X11).
eg   id:5:initdefault:

Then in /etc/rc.d/init.d/ I created my own init file to start an X session at boot time.
I called my file X.init (rwxr_xr_x root root).

In the file was this.........

    # This script is a cludge to start an X session on a diskless workstation.
    if [ -f /usr/X11R6/bin/XF86_SVGA ]; then
            rm /tmp/.*lock
#          -indirect for using chooser
#          -query for delving strait to the login prompt
#          /usr/X11R6/bin/XF86_SVGA -bpp 32 -indirect
            /usr/X11R6/bin/XF86_SVGA -bpp 32 -query
    shutdown -r 0

The reason I have used the absolute filename XF86_SVGA and not the link X is because it is possible
to mount another servers /usr directory and the vidio card on the server may be different than that on
the diskless workstation. (My initial setup does not mount another servers directory but I have shown
how it can be done in my fstab file).
The switches after XF86_SVGA are explaned in the man file Xserver(1).

I use the system V init from the Red Hat Linux distribution so I set up my rc5.d directory to be as follows...

    S15nfsfs -> ../init.d/nfsfs
    S60nfs -> ../init.d/nfs
    S80Xterm -> ../init.d/X.init

My /etc/fstab file has....    /    nfs    defaults 1 1
    #                       /usr    nfs     defaults 1 1
    #                        /lib    nfs     defaults 1 1

The commented out mount points are for if I realy wish to save some hard disk space and mount the
main servers /usr and /lib files. Be careful the binaries must be able to run on the diskless workstation
as well as the server. Of course when I go to do this manouver, I should rename the existing /usr to
somthing like /usr.old and re create an empty /usr directory to mount onto. The same goes for /lib.
Only when all is working fine should the old directories be removed.

The X11 files need to in place but if I go down this track, the talk will become an X11 talk and not netboot.
So from here I must say read the XFree86 HOWTO .

I do hope this inspires some of you to try using netboot or any equivelent.

 Have fun.