Hack 25 Network Boot Knoppix 
Use the Knoppix Terminal Server to boot
multiple netboot-capable machines off of a single Knoppix CD.
Booting Knoppix off of a CD-ROM works
fine for most normal uses. However, if you want to boot from a
machine without a CD-ROM, or if you want to have Knoppix running on
20 different machines all at the same time, you might find it is
easier to take advantage of the terminal server that is included with
Knoppix.
With a terminal server started on a Knoppix CD, any netboot-capable
machine can boot over the network from that original Knoppix machine,
get the same desktop environment, and run the same applications as if
it booted directly from the CD-ROM. As mentioned in detail in [Hack #89],
a netboot-capable machine is a machine that supports either Pre-boot
eXecution Environment (PXE) or etherboot, and can download
bootstrapping code over the network from a properly configured
server. Almost every new computer has support for PXE. To see if your
machine supports PXE, look for "Booting from
NIC" or PXE in the BIOS. On many modern computers,
you can hit F12 at boot time to see a list of booting options, and if
PXE is supported, you should see a reference to booting from the
network card.
If you don't have a PXE-capable network card, read
Section 8.11.5.2 in Section 8.11[Hack #89]
for instructions on downloading a floppy image to enable etherboot
for your network card.
That's pretty much all you have to do for the
clients. Most of the work for this hack occurs on the server.
To start, boot the machine that will be acting as the terminal server
from the Knoppix CD. If Knoppix has automatically configured the
network card from a DHCP server on the network, you do not need to
further configure the network card for the server. However, a
requirement of this terminal server setup is that Knoppix runs its
own DHCP server. Because of this, you must turn off the existing
DHCP. Failure to do so will cause problems when the clients attempt
to boot from the network, as there will be no guarantee they will use
the Knoppix DHCP server instead of the regular one.
 |
Ideally, your terminal server should be the machine with the most RAM
and fastest CD drive and network connection. The clients use their
own processor and RAM, but rely on the terminal server for all of the
Knoppix files. Because Linux is an efficient multiuser OS, you can
easily support a dozen or more terminals from a single
well-configured workstation or server.
|
|
If there is no DHCP server on the network, click K
Menu KNOPPIX Network/Internet Network card
configuration to configure your network card. Just add your IP
address and netmask, and you're done.
Knoppix provides a Terminal Server Wizard that assists you in getting
terminal services running. Several programs working together provide
the actual terminal services. DHCP is used to configure the network
connection and provide kernel images for clients using TFTP; files
are shared using NFS.
Click K Menu KNOPPIX Services Start
KNOPPIX Terminal Server to start the Terminal Server Wizard. The
configuration window gives you the options to set up, start, and stop
the server. Choose "setup" and then
choose your network card from the list of network devices that
Knoppix detects. For machines with more than one network card, you
must be aware of which network card is connected to the same network
as the clients.
The next window asks you to enter the range of IP addresses for the
terminal server to use. In general, the default is fine. In the next
window (as shown in Figure 3-3), check all of the
network card modules your clients are using. The most commonly used
modules are preselected, so if you are unsure, go with the default.
If you don't know the network modules used by a
client, boot the Knoppix CD from the client and then run
lsmod from a terminal to find the network card
module in the list that Knoppix has loaded.

Choose specific terminal services options from the next window. The
default selections are secure (which disables root access on all of
the clients), masq (IP masquerading and forwarding), and dns
(nameserver cache and proxy). If you want to enable a transparent
proxy for all web traffic, also check the squid option, although note
that it uses an extra 40 MB of RAM on the server.
Next, choose any special cheat codes you want to use on the clients.
Refer to [Hack #3]
for more information about implementing cheat codes at boot time. By
default, the wheelmouse cheat code is enabled, but
that cheat code is deprecated, so just remove it. If you have a
mixture of clients, some that need special cheat codes and some that
don't, you can also enter cheat codes at the boot
prompt of a client to use that cheat code on that client only.
Now that things are set up, the wizard lets you choose to start the
terminal server. Once started, the wizard disappears. If you want to
stop the terminal server later, rerun the wizard and choose
"stop" instead of
"setup" at the opening window.
For extra diagnostic information, click K
Menu KNOPPIX Services Start SYSLOG. Now
you can boot each of your clients and see the default Knoppix boot
screen. Simply hit Enter and boot the machines as you would normally.
If a machine does not boot, reference the syslog window for any error
messages that might appear.
|