| Free Software at Schools: Installing and Maintaining a Skolelinux/Debian-edu Network; Based on Debian Sarge, prerelease pr05 | ||
|---|---|---|
| Prev | Chapter 8. Fine-tuning | Next |
Each thin client has a wide range of options that can be changed on an individual thin client basis.
Video card
PXE-network card or regular network card
Will it act as a print server?
Serial, PS/2 , USB or scrollmouse?
All these options are specified in the file /opt/ltsp/i386/etc/lts.conf, but you need to assign each thin client a static IP address. You do this by adding the MAC address of the network card in your thin client, all done in the file /etc/dhcp3/dhcpd.conf There is also a Webmin module for this operation, https://tjener.intern:10000/dhcpd3/index.cgi
I strongly advise you to use PXE cards, which eliminate the need for the use of failure-prone media such as floppy disks. But if you have to use floppy disks to boot your thin clients, then there are some small tricks to learn. The floppy disks you need, are ready and available for download at rom-o-matic.com. The latest stable version that is known to work well with Skolelinux/Debian-edu is 5.0.11, which is the recommended one.
There are two things you need to do::
Find the correct ROM for your network card. There are over 250 on the list of available network cards, which makes the whole point of PXE very appealing.
Once you have managed to find the correct ROM for your network card, you need to put it on a floppy disk, on a Linux machine, as root
cat eb-5.2.5-yournic.zdsk > /dev/fd0
This floppy disk image contains the ROM for the 30 most popular and widely-used network cards, which means that there is a big chance that you don't need to fiddle around trying to figure out what kind of network card you have.
This floppy disk is a part of the project Thinstation, from there you download "Universal boot floppy". The file you have downloaded should be BootDisk522b.zip. In Windows you use a zip program to unpack it. In Skolelinux/Debian-edu you unpack it with unzip BootDisk522b.zip, (you may need to install unzip, apt-get install unzip). While unzipping the file you should see something like this:
tjener:~# BootDisk522b.zipunzip BootDisk522b.zip Archive: BootDisk522b.zip inflating: rawrite2.exe inflating: ebnet522.dsk inflating: Readme.txtIn the file Readme.txtyou will find detailed information about how the universal boot floppy is made, together with how you can make one yourself. As root, you can make one with the command
cp ebnet522.dsk /dev/fd0
In order to be able to specially customize your various thin clients, you have to be able to identify each of them separately. You can do this with the help of each thin client's network card and its unique MAC address (which every network card has).
Most (but not all) network cards have their respective MAC addresses printed on them somewhere. It often looks something like 0000864A585A, or 00-00-86-4A-58-5A, or 00:00:86:4A:58:5A, which are numbers given in the hexadecimal system. If you don't see anything like that printed on the card, then you can have a look at the file /var/log/syslog, where the thin client's MAC address is registered when it tries to start up. To see what is being logged at the time the thin client starts up, use the command
tail -f /var/log/syslog
then you will see something likeJan 4 19:04:44 tjener dhcpd-2.2.x: DHCPDISCOVER from 00:00:86:4a:58:5a via eth1 Jan 4 19:04:44 tjener dhcpd-2.2.x: DHCPOFFER on 192.168.0.201 to 00:00:86:4a:58:5a via eth1 Jan 4 19:04:45 tjener dhcpd-2.2.x: DHCPREQUEST for 192.168.0.201 from 00:00:86:4a:58:5a via eth1 Jan 4 19:04:45 tjener dhcpd-2.2.x: DHCPACK on 192.168.0.201 to 00:00:86:4a:58:5a via eth1Here you can see the MAC address, together with the IP number given to each thin client.
If you have enabled a shell on the thinclient, you can use the command ifconfig directly on the thinclient to see that MAC-address it have. To enable a shell on the thinclient, you must have this line in your /opt/ltsp/i386/etc/ltsp.conf put it under the section [Default]
SCREEN_02 = shell
After you have added this line to /opt/ltsp/i386/etc/ltsp.conf you must reboot the thinclient. Then you access the shell directly on the thinclient with the keyboard combination ALT-F2 and use ALT-F1 to return. Once in the shell directly on the thinclient, use the command ifconfig, look for something similar to
HWaddr 00:00:86:4A:58:5A
Now that you know the MAC address, you can type it in the file /etc/dhcp3/dhcpd.conf for example
host ltsp010 {
hardware ethernet 00:00:86:4a:58:5a;
fixed-address 192.168.0.10;
#filename "/tftpboot/lts/vmlinuz-2.4.19-ltsp-1";
filename "/tftpboot/lts/pxelinux.0";
#option option-128 e4:45:74:68:00:00;
#option option-129 "NIC=3c509";
}
After you have typed in the MAC address, then you must restart the DHCP server, which is done with the command
/etc/init.d/dhcp3-server restart
In this case I have decided that the thin client with the MAC address 00:00:86:4a:58:5a should be named ltsp010 and be given the IP number 192.168.0.10. The names ltspXXX cannot be changed to something else,[1] for example room203. It won't work.Remember that a hash-mark ( # ) before a line in a file /etc/dhcp3/dhcpd.conf is used as a comment symbol, which means that this line is just a comment. In this case I have put a comment symbol at the start of the line
#filename "/tftpboot/lts/vmlinuz-2.4.26-ltsp-2";while at the start of the line
filename "/tftpboot/lts/pxelinux.0";there is no comment symbol. This means that this thin client has a network card of the type PXE, so it must have an image when it starts up pxelinux.0. If it didn't have a PXE-network card, but instead a normal card that needs an Etherboot floppy, see Section 2.4, then it would need the start up image vmlinuz-2.4.26-ltsp-2
Another choice you can make for each single thin client in this file is to activate (that is, remove the comment symbol) at the beginning of
option option-128 e4:45:74:68:00:00; option option-129 "NIC=3c509";if and only if you have a 3com509 ISA network card in your thin client.
In the file /opt/ltsp/i386/etc/lts.conf you have the possibility to specially customize each individual thin client. You can also make adaptations that cover all of the clients at once.
Here I want you to note that there is already a large document which describes how to set up thin clients ltsp.org Look in the documentation menu.
I have only mentioned the most important changes you can make in /opt/ltsp/i386/etc/lts.conf. I recommend that everyone should read the documentation that is found at http://www.ltsp.org
In order to specify that you have a printer connected to the parallel port of a thin client, the following lines must be added to the file /opt/ltsp/i386/etc/lts.conf :
[ltsp050] PRINTER_0_DEVICE =/dev/lp0 PRINTER_0_TYPE =Pexchange ltsp050 with the correct name of your thin client. See part Section 9.1.1.
Add the following to the file/opt/ltsp/i386/etc/lts.conf if you have a serial mouse (connected to the COM port)
[ltsp051] X_MOUSE_PROTOCOL = "Microsoft" X_MOUSE_DEVICE = "/dev/ttyS0" X_MOUSE_RESOLUTION = 400 X_MOUSE_BUTTONS = 2 X_MOUSE_EMULATE3BTN = Y
Add these lines to /opt/ltsp/i386/etc/lts.conf
X_MOUSE_PROTOCOL = "ImPS/2" X_MOUSE_DEVICE = "/dev/input/mice"
Add the following to /opt/ltsp/i386/etc/lts.conf if you have a scrolling mouse
[ltsp052] X_MOUSE_PROTOCOL = "ImPS/2"It's not certain that this will make the wheel function; it may make your mouse go absolutely crazy.
Some video cards cannot be configured automatically. This is especially true of older video cards. So it may often be necessary to specify which video card driver must be used. Sometimes it may also be necessary to specify that an older version of XFree86 must be used. For example,with the Compaq Deskpro 4000 machine, an older version of XFree86 must be used, so for this type of video card we have to add the following lines to /opt/ltsp/i386/etc/lts.conf
[ltsp054] XSERVER=XF86_SVGA
Sometimes it may be desirable to use a different resolution than 1024x768 which is normally the standard for thin clients. Not every video card can manage that resolution. It would also appear a little weird on 14" or 15" screens where 800x600 fits better. These files in /opt/ltsp/i386/etc/lts.conf make that possible:
[ltsp060] X_MODE_0=800x600
The package ltsp-utils is a great tool when it comes to administrating the thinclients without to much footjob. With it you can reboot/shutdown the clients, and query the contents of their /proc filesystem, which contains plenty of useful stuff. First you must activate it, you have the choice of activating the reading of /proc and the possibility to reboot/shutdown. It's configured in the file /opt/ltsp/i386/etc/lts.conf, placed it under the section [Default]
ALLOW_SHUTDOWN = Y
ALLOW_PROCREAD = Y
With ALLOW_SHUTDOWN = Y you may reboot/shutdown your thinclients using the commands ltspinfo --reboot -h ltsp040
ltspinfo --shutdown -h ltsp040
tjener:~# ltspinfo --proc=meminfo -h ltsp040
total: used: free: shared: buffers: cached:
Mem: 130322432 20234240 110088192 0 65536 11264000
Swap: 33550336 0 33550336
tjener:~# ltspinfo --proc=cpuinfo -h ltsp040
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 6
model name : Celeron (Mendocino)
stepping : 0
cpu MHz : 332.901
tjener:~# ltspinfo --cfg=ALL -h ltsp040
export LTSP_LOCAL_APPS="N"
export LTSP_USE_NFS_SWAP="Y"
export LTSP_HOSTNAME="ltsp040"
export LTSP_DEFAULT_SERVER="192.168.0.254"
export LTSP_KERNEL_VERSION="2.4.26-ltsp-2"
export LTSP_TYPE_0=""
export LTSP_TYPE_1=""
export LTSP_TYPE_2=""
export LTSP_DNS_SERVER="192.168.0.254"
export LTSP_NFS_SERVER="192.168.0.254"
export LTSP_SWAPFILE_SIZE="32m"
export LTSP_SYSLOG_HOST="192.168.0.254"
export LTSP_SNMPD=""
export LTSP_SOUND=""
export LTSP_XDM_SERVER="192.168.0.254"
export LTSP_XSERVER="mga"
export LTSP_DISABLE_ACCESS_CONTROL="N"
tjener:~# ltspinfo --proc=modules -h ltsp040
usbkbd 3256 0 (unused)
hid 14184 0 (unused)
usbmouse 1912 0 (unused)
mousedev 3924 1
keybdev 1952 0 (unused)
input 2976 0 [usbkbd hid usbmouse mousedev keybdev]
usb-uhci 20844 0 (unused)
usbcore 55520 0 [usbkbd hid usbmouse usb-uhci]
nfsswap 2524 1
8139too 13256 1
mii 2112 0 [8139too]
crc32 2848 0 [8139too]
tjener:~# ltspinfo --proc=bus/pci/devices -h ltsp040 |cut -c6-13
80867180
80867181
80867110
80867111
80867112
80867113
10ec8139
102b1001
All these is useful commands for diagnostic purposes and for finetuning your thinclients.
![]() | Be very careful when using ALLOW_SHUTDOWN = Y, because everybody on your system can then reboot/shutdown a thinclient, regardless if someone is logged in at that thinclient. If you just need this feature for testing on a particular thinclient, then place the lines under [ltspXXX] instead of under [Default] |
| [1] | Unless you also make the corresponding changes to bind and DNS |