openSUSE Linux Terminal Server Project (LTSP) setup

Background

The Linux Terminal Server Project is designed to let thin clients connect to one server. The idea behind a terminal server / thin client setup is that all applications run on the central terminal server. The clients have got a tiny operating system, which does nothing more than connect to the terminal server. Network booting (PXE booting) allows for diskless clients. The whole process is completely hidden from the user, who is presented with a normal desktop. There are several big advantages of a thin client setup:

  • There is only one installation of an operating system, the one on the server. This makes maintenance a lot easier
  • The clients can be cheap low cost computers. They only have to have network boot capabilities, something which all modern computers have nowadays.
  • The clients can be diskless. This saves on maintenance since harddisks are vulnerable to failure, especially in hot and humid climates, which are present in Cambodian classrooms.

The installation process on openSUSE 10.3

This manual is based on the manual on the openSUSE wiki

Prerequisites:

For the installation of LTSP we need some hardware. To test the setup, you will need at least a server and a client. If the server is going to be used in a classroom then please visit this link to check the hardware requirements. Generally speaking, for a classroom of about 20 to 30 computers, a server with a modern Core2Duo CPU and around 4 GB of RAM will do. The clients can be anything, as long as they can boot from the network (PXE capable). 128 MB of RAM is sufficient. You can use any computer you like.
It is also assumed that you have some basic Linux administration skills and a working internet connection. Knowledge of your network can also come in handy!

The installation

Installation of a Linux Terminal Server on openSUSE 10.3 is very easy with some tools which recently have been developed. In order to install the server, first install a fresh clean installation of openSUSE 10.3. Copy the installation DVD (32bits!) to a directory on your harddisk. Remember the location, you need it later. Once this is finished, we need to install the rest of the software. The easiest way to do this is to 1click install button below.

ftp://forgeftp.novell.com/kiwi-ltsp/kiwi-ltsp.ymp

You can also do this on the commandline:

zypper ar http://download.opensuse.org/repositories/server:ltsp/openSUSE_10.3 ltsp
zypper ar http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_10.3 tools
zypper in kiwi-desc-ltsp

Now all the tools have been installed.

Configuration

The file /etc/sysconfig/kiwi-ltsp must be edited. You can either do it by hand with your favourite text editor, or open YaST-System-/etc/sysconfig editor. Then go to system/KIWI-lstp. Change SUSE_INSTALL_SOURCE to the location where you copied the installation DVD. Other network settings can be added as well (since this server is going to be a DHCP server). Change NAME_SERVERS to your DNS server settings and GATEWAY to your gateway IP address. You might change DHCP_SUBNET and DHCP_RANGE as well when your network is at a different subnet. Change SERVER_IP to the IP address of the server. Now the last thing to do is to execute this command as root

kiwi-ltsp-setup -s

This might take a while. After everything is finished, you will have a complete working LTSP setup! This includes a DHCP server, a TFTP server, and a NBD server.

Running the system

Boot the clients from network. If all has been configured correctly, they should get a login screen. After login, you will be presented with a complete working KDE session.

Tweaking

Most of the problems come from X which is not working. This can be fixed by changing parameters in /srv/tftpboot/KIWI/lts.conf. On the Edubuntu site you can find the configuration parameters.

If you have a DHCP server in your network already, you can change the DHCP server settings by editing the file /etc/dhcpd.conf and adding some lines:

option domain-name "openschools.org";
option domain-name-servers 192.168.1.1;
option routers 192.168.1.1;
default-lease-time 14400;
ddns-update-style none;
next-server 192.168.1.240;
#Add these lines
class "pxe" {
    match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
}

subnet 192.168.1.0 netmask 255.255.255.0 {
{{  range 192.168.1.210 192.168.1.220; }}
  default-lease-time 14400;
  max-lease-time 172800;
  filename "pxelinux.0";
##Add this line as well!
  allow members of "pxe";
}
 
software/opensuse_ltsp.txt · Last modified: 2008/03/21 11:09 by bart     Back to top