K12Linux.org
[
K12LTSP.org
| Downloads
| Installation
| Configuring Server | Configuring
Clients
| FAQ's & More
]
Server Package Configuration:
[ Boot Process | NFS mount for /home
| Printers
]
Your new K12LTSP server has packages from the Linux Terminal
Server Project (www. ltsp.org
) and packages from the standard Red Hat 7.2 distribution. That
means that in addition to using it as a terminal server you can run
hundreds of packages for Red Hat Linux.
We'll provide pointers to configuring some of these other
packages but this page will focus on configuring the LTSP packages
that are required for booting diskless workstations.
Understanding the diskless boot process: (More
detailed description
from www.ltsp.org
docs...
)
There are several ways diskless workstations can connect
to your server. You can have bootp enabled boot roms on your ethernet
card, bootp rom code that loads from a floppy or you can use the PXE
boot protocol from a PXE enabled motherboard or floppy. In all of these
the process is the same:
-
The client boots and requests an IP number from the server.
-
The server looks first in the /etc/dhcpd.conf file to see if there
is a static address that matches the mac address of the client. If there
is no match then an IP number is issued from within the
ip range specified in the dhcpd.conf file. Note that
the dynamic range starts at 192.168.0.100. This means that numbers under
100 are good choices for other servers, printers and workstations with
static addresses.
shared-network WORKSTATIONS {
subnet 192.168.0.0 netmask 255.255.255.0 {
range dynamic-bootp
192.168.0.100 192.168.0.253;
use-host-decl-names
on;
option log-servers
192.168.0.254;
# trick from Peter Rundle <peter.rundle@au.interpath.net>
if substring (option vendor-class-identifier,
0, 9) = "PXEClient"
{
filename
"/lts/pxe/pxelinux.bin";
#
NOTE: kernels are specified in /tftpboot/lts/pxe/pxelinux.cfg/
}
else
{
filename
"/lts/vmlinuz-2.4.9-ltsp";
}
}
}
|
-
The first step in trouble shooting is to make sure your client is
getting an IP number. You can watch this process by tailing the messages
file on the server while the client boots:
tail -f /var/log/messages
Once the client has an ip number it will then continue booting
and ask for its operating system from the server. There are two protocols
for doing this, bootp and PXE. The dhcpd.conf file is configured to
answer both kinds of requests.
-
The server gives out boot kernels through a program called tftpboot.
All kernels are in the tftpboot dir. PXE booting is configured in a
file called
/tftpboot/lts/pxe/pxelinux.cfg/default
. The actual
PXE kernels are in /tftpboot/lts/pxe/
/tftpboot/lts/pxe/vmlinuz-2.4.9-13-k12ltsp
<<
Default kernel...
/tftpboot/lts/pxe/vmlinuz-2.4.9-1-kitchen-sink
<< kernel with many options compiled in... Use this one if you're
having trouble with the default kernel.
We'll cover how to make boot floppies again when we discuss
configuring clients. We do supply many floppy boot images in
/tftpboot/lts/boot/bootroms.
These boot images are handy for testing. Just put a formatted
floppy disk in your computer and type cat /tftpboot/lts/boot/bootroms/eepro100.lzdsk
> /dev/fd0
to create a boot floppy for any of the cards listed. We used
the Intel eepro100 card in the example above.
-
You can list specific clients in the dhcpd.conf file. This helps when
some need a special kernel or workstation specific settings are required
for different video drivers, mice or sound settings. Clients not specifically
listed in
dhcpd.conf will boot with default
settings as supplied in the lts.conf. Examples
are included in the default dhpcd.conf
file. Note that the IP numbers here are below 192.168.0.100.
host ws002 { hardware ethernet 00:D0:09:30:6A:1C; fixed-address 192.168.0.2; filename "/lts/vmlinuz-2.4.9-ltsp"; }
|
After adding an entry for the workstation in
dhpcd.conf
you can add options in the lts.conf
file found in /opt/ltsp/i386/etc/. This
is an important file as it also contains the default settings for all your
workstations. We've included a sample in the box below.
#
# Config file for the Linux Terminal Server Project (www.ltsp.org)
#
[Default]
SERVER
= 192.168.0.254
XSERVER
= auto
X_MOUSE_PROTOCOL
= "PS/2"
# X_MOUSE_PROTOCOL
= "IMPS/2" << for wheel mice
X_MOUSE_DEVICE
= "/dev/psaux"
X_MOUSE_RESOLUTION = 400
X_MOUSE_BUTTONS
= 3
X_USBMOUSE_PROTOCOL= "PS/2"
X_USBMOUSE_DEVICE
= "/dev/input/mice"
X_USBMOUSE_RESOLUTION
= 400
X_USBMOUSE_BUTTONS = 3
USE_XFS
= N
LOCAL_APPS
= N
RUNLEVEL
= 5
# enable sound by default, set the default volume to 75 SOUND = Y VOLUME = 75
# ISA sound cards require you to manually load the proper module: # for example: #SMODULE_01 = sb io=0x220 irq=5 dma=1
#------------------------------------------------------------------------------
#
# Example of specifying X settings for a workstation
#[ws001]
# XSERVER
= auto
# LOCAL_APPS
= N
# USE_NFS_SWAP
= Y
# SWAPFILE_SIZE
= 48m
# RUNLEVEL
= 5
|
-
If you're having trouble at this point a good resource is the LTSP
documentation. They have a step by step description of the boot process
and
troubleshooting tips
that are much more detailed than what we've provided here.
If your client is getting its IP number and kernel image you should be
up and running.
NFS Mount for /home: (more
NFS info
from the
Red Hat Customization Guide
)
We have several
LTSP servers in one building. All of them share the same /home directory
via NFS. We have one server that acts as the home folder file server for
the school. We sync the passwd, group and shadow files to each LTSP server
from this server. This means that any user can sit down at any terminal
regardless of the host LTSP server and still have access to his/her settings
and files. Setting up NFS is very easy to do.
- Configure
the /home folder server by adding a line to
/etc/exports:
/home 192.168.0.0/255.255.255.0 (rw)
- Make
sure that /home is an empty directory on the LTSP server. We'll use it
as the mount point fo r the NFS mount by adding one line to
/etc/fstab:
server:/home/ /home
nfs defaults,rsize=8192,wsize=8192
0 0
In this example we are mounting from a computer called "server." Make
sure the NFS host and IP number are listed in your /etc/hosts file and
adjust as needed for your network.
- We
don't add users often so simply copying passwd, group and shadow files
from the home server to /etc on the LTSP servers works well for us to
keep user logins synched. I'm sure there are better ways of doing
it. Share yours with me and we'll put your howto's on this page! ;-)
Printing:
There are two ways to add printers. Adding printers to the LTSP
server makes them available to all the clients as well. This is the easiest
way to do it. Just run the printtool utility and add printers as you would
for any other Linux box. You will need to run the
spadmin utility as root to configure printers for
OpenOfice. This utility is copied to /root/OpenOffice when root runs OpenOffice
for the first time. See the
Red Hat Customization Guide
for more
printtool
info.
You can also add printers to workstations. See the LTSP documentation
for
examples
on this.
|