LTSPHowTo

Revision 1 as of 2005-05-28 20:41:07

Clear message

LTSPHowTo

[http://www.ltsp.org/ Linux Terminal Server Project], as described on the top of their website:

LTSP is an add-on package for Linux that allows you to connect lots of low-powered thin client terminals to a Linux server. Applications typically run on the server, and accept input and display their output on the thin client display.

I'm writing this by installing LTSP on a clean box, and attempting to document every thing I do. Hopefully, that will make this how-to as complete as possible.

Ubuntu Installation

The first step, of course, is to install Ubuntu! I'm using the 4.10 stable WartyWarthog release, and only the Main repisitory. A typical desktop install is used, instead of Custom/Minimal: even though this will be a server, you'll want the complete set of desktop applications and X itself.

Highly recomended, install SSH: SSHHowto

Since this is a server, you'll want a static network address.

{{{sudo gedit /etc/network/interfaces }}}

For help editing /etc/network/interfaces, check out man 5 interfaces

{{{# The primary network interface auto eth0 #iface eth0 inet dhcp iface eth0 inet static

  • address 192.168.0.2 netmask 255.255.255.0 gateway 192.168.0.1}}}

Obviously the above is just an example. Adjust to fit your own network. Restart networking to adopt your new IP!

{{{sudo /etc/init.d/networking restart }}}

Installing dhcpd, tftpd, nfs

LTSP is a combination of existing protocols used together to boot diskless clients: dhcp, tftp, nfs, xdmcp. These do not all have to be run on the same server, it's quite possible to spead them out across many servers in a large deployment. I highly recomend reading the offical documentation to understand how the boot process works: http://www.ltsp.org/documentation/ltsp-4.1/ltsp-4.1.3-en.html#AEN53

To keep this simple, we'll install everything on one Ubuntu server:

{{{sudo apt-get install dhcp3-server tftpd-hpa nfs-kernel-server }}}

Opening up portmap

For desktop security, Ubuntu's portmapper is set to only listen to localhost by default. However, that would prevent LTSP clients from connecting to our nfs-server.

{{{sudo gedit /etc/default/portmap }}}

Comment out the second line:

{{{# By default, listen only on the loopback interface # ARGS="-i 127.0.0.1"}}}

Installing ltsp-utils

These instructions are based off of http://www.ltsp.org/ltsp-4.1.html

First we download and install ltsp-utils. Head over here and grab the tarball: http://www.ltsp.org/ltsp-utils-0.10.tgz

{{{tar xzvf ltsp-utils-0.10.tgz cd ltsp-utils sudo ./install.sh}}}

However, ltspadmin won't run yet, it complains about needing the LWP Perl module. Luckly, this is right in Main, although it will take a few dependencies along for the ride.

{{{sudo apt-get install libwww-perl }}}

Now ltspadmin will run. You may want to download the packages first though.

Optional: Download LTSP Package ISO

Note that there are currently no up to date (ltsp-4.1) packages for Debian that I can find. Debian packages of LTSP would be a huge asset, much simplifying installation, maintance, and upgrading. I believe that creating Debian packages would be a very valuable way that Ubuntu could contribute back; given sufficient free time, I'm interested in learning how to create .debs for LTSP. Help welcome. -JoeZicarelli

There are two ways you can download the LTSP packages: Download a 100M ISO image, or, let the ltspadmin utility download packages from online. I highly recomend the .iso, as recently the download servers have been very slow, having a local copy of the packages may save future pain. Grab it here from your favorite mirror: http://prdownloads.sourceforge.net/ltsp/ltsp-4.1-0.iso

You can either burn the ISO and mount it, or simply mount it with the loopback device:

{{{sudo modprobe loop sudo mkdir /mnt/ltsp sudo mount -o loop ltsp-4.1-0.iso /mnt/ltsp/}}}

Installing LTSP

Now run ltspadmin:

{{{sudo ltspadmin }}}

If you downloaded the ISO of packages as described above: select Configure the installer options. At the prompt Where to retrieve packages from?, enter in the path to the mounted packages: file:///mnt/ltsp

To install, select Install/Update LTSP Packages. This brings up a package-selection menu: you can hit A to select everything, and then Q to leave the menu. It'll ask you if your sure; y to actually install.

Now run through Configure LTSP and configure everything!

Moving LTSP's tftpboot

Ubuntu expects files benig served by tftp to be in /var/lib/tftpboot/, while LTSP put them in /tftpboot/, so we'll just move them and delete the empty /tftboot/:

{{{sudo mv /tftpboot/lts /var/lib/tftpboot/ sudo rmdir /tftpboot}}}

Client Configuration

The individual clients need to be configured, this is done in the following files:

  • /etc/dhcp3/dhcp.conf
  • /etc/hosts
  • /opt/ltsp/i386/etc/lts.conf

Refer to the offical docs for help: http://www.ltsp.org/documentation/ltsp-4.1/ltsp-4.1.3-en.html#AEN524

XKB Error

LTSP 4.1 runs xorg, while Ubuntu 4.10 WartyWarthog runs xfree. This generates an XKB Error when logging remotly with XDMCP. Something like:

{{{Error activating XKB configuration. Probably internal X server proublem.

X server version data: The X.Org Foundation 60801099

If you report this situation as a bug, please include: - The result of xprop -root | grep XKB - The result of gconftool-2 -R /desktop/gnome/peripherals/keyboard/xkb}}}

This can be fixed with two symbolic links:

{{{sudo ln -s /etc/X11/xkb/rules/xfree86 /etc/X11/xkb/rules/xorg sudo ln -s /etc/X11/xkb/rules/xfree86.lst /etc/X11/xkb/rules/xorg.lst}}}

I don't believe this will be an issue for Ubuntu HoaryHedgehog, as xfree is no longer used.

Test a Workstation!

Hopefuly it'll work! Wink ;-)

Moving Forward.

To get a working 2.6.x Kernel working with LTSP or get HAL and D-Bus to work in 2.4.x Wink ;-)