<< | < | > | >> Version 1.0

Other approaches

The example described above is a relatively simple setup relying on built in PXE boot support, and doesn't really scale well to multiple client computers largely due to the requirements to have a separate root file system area for each workstation. However there are solutions to all of these problems.


Systems without PXE boot support in their BIOS, but which do include sockets for boot roms, can be booted from the boot ROMs using Etherboot, or Netboot. Etherboot includes support for several common network cards using custom written boot code, that boots using Bootp/DHCP and TFTP to load a specially tagged kernel image. Netboot operates in a similar manner, but makes use of the packet drivers supplied with the network card, meaning that in theory it can operate with any network card that has boot rom support. However this is theory only as the packet drivers included with some cards are far too big to fit into a boot rom (16KB or sometimes 32KB); the author has seen packet drivers in files as big as 50KB. This approach requires burning a boot rom specific to the network card, although there are organisations such as DisklessWorkstations that sell the boot roms ready to use. The setup can usually be tested from a floppy disk until the boot code and server setup is finalised.

The Linux Terminal Server Project (LTSP)

For a multiple workstation situation, the approach taken by the Linux Terminal Server Project, which uses a ram disk for work area, and a read only NFS mounted root file system is more scalable. Now at version 2.02 (at the time of writing), the LTSP setup comes as a series of RPM packages including kernels, X servers, a NFS-shared area, and a central configuration file for turning on and off various features. The setup uses a ready only root NFS file system, with a series of symlinks to a ram disk mounted on /tmp to allow files to be written where applications expect them to be written. It currently boots using Etherboot, kernel-DHCP, and root NFS with a ram disk created during the startup for temporary files. Some people on the LTSP discuss mailing list report booting via PXE as well. The LTSP software is being widely used, including several installations with 10 or more workstations running from a single server.

Tiny Linux distributions

Several small Linux distributions exist which are designed to run off a single floppy disk, or a few floppy disks. One of the better known ones is the Linux Router Project (LRP) which while usually used for router setup, can also easily be used to boot a system from floppy disk into a root-NFS (or even initial ram disk) mode. Several other small Linux distributions are listed on the Linux Weekly News website, in their distributions page.

Thin client hardware

Recently a number of thin client hardware platforms have been released, primarily in the United States. One of the more promising platforms is the ThinkNIC due to their willingness to allow "hackers" to make other uses of the hardware. These all-on-one units offer the potential of a near ready-to-go system that can make use of resources on the network. Most of these systems boot of their own ROMs or a CD-ROM, but some of them can be adapted to boot of the Network. The LTSP group have investigated re-purposing some of these systems to operate as diskless workstations booting off the network with some good results.

Linux 2.4

At present it appears that Linux 2.4 will not have either kernel DHCP support, or root NFS support, both of which are used both by the simple example presented here and also by the LTSP booting system. The suggested alternative is an "initial ramdisk" that is loaded as the first root file system, and which then runs a user-mode DHCP client to configure the hardware, and NFS mounts a root file system over the top of the initial ram disk. Such a configuration is somewhat more complex to configure than the kernel-DHCP/kernel-root-NFS setup, but should only need to be done once. At present no step-by-step guide to such a setup exists, but the LTSP group plan to investigate this once Linux 2.4 is released.

Remote audio

The most promising solution to the problem of presenting audio remotely to a diskless workstation is the Network Audio System. This client/server approach offers a way to have an application output its audio on a different machine from the one where it was generated, in a similar manner to the remote display of graphics through X11. Clients and servers are available for a variety of operating systems, including Linux. It is reported that the soon-to-be-released KDE 2.0 includes network audio support.

<< | < | > | >> Copyright © 2000 Naos Limited