LTSP-LINUX TERMINAL SERVER PROJECT
LTSP(Linux Terminal Server Project)
The Linux Terminal Server Project adds thin-client support to Linux servers. LTSP is a flexible, cost effective solution that is empowering schools, businesses, and organizations all over the world to easily install and deploy desktop workstations. A growing number of Linux distributions include LTSP out-of-the-box.

LTSP enables thin clients(with no hard disk) to boot from ubuntu 9.04 machine.
INSTALLATION & CONFIGURATION:
a) Install ubuntu 9.04 ( aka Jaunty) with a static IP ( A static IP is needed to act as a server. My IP is 192.168.0.1). Set up Internet access on this machine. You need to download a lot of packages from the net to complete the installation.
b) Install the packages ltsp-server-standalone and openssh-server
# apt-get install ltsp-server-standalone
# apt-get install openssh-server
c)Build the LTSP client environment.
#ltsp-build-client
This command will download all the necessary packages from Internet and build your environment.
Have a look at /opt/ltsp/i386. This directory will now contain the chroot environment for the thin clients. If you want to tweak any settings you can do it here.
d)Edit the /etc/ltsp/dhcpd.conf to suit your network setting. This file will serve the ip range 192.168.0.20 192.168.0.250 by default. If your network uses this range you can leave it as it is. (The default file worked for me as my server IP is 192.168.0.1)
After editing the cofiguration file it looks like below
# Default LTSP dhcpd.conf config file.
# authoritative;
subnet 192.168.0.0 netmask 255.255.255.0
{
range 192.168.0.20 192.168.0.250;
option domain-name “example.com”;
option domain-name-servers 192.168.0.1;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
# next-server 192.168.0.1;
# get-lease-hostnames true;
option subnet-mask 255.255.255.0;
option root-path “/opt/ltsp/i386″;
if substring( option vendor-class-identifier, 0, 9 ) = “PXEClient”
{
filename “/ltsp/i386/pxelinux.0″;
} else {
filename “/ltsp/i386/nbi.img”;
}
}
e) Run the following commands.
#ltsp-update-sshkeys
#ltsp-update-image
The first command above will export the ssh keys of the server to the ltsp client environment. The ltsp-update-image command will rebuild a squashfs image from the ltsp chroot environment and place it under /opt/ltsp/images directory. This image will be exported to the thin client as root file system by the NBD daemon on the server.
Your LTSP server is ready. Try booting form a client via pxe or etherboot. You can also try to boot the thin client in qemulator.
There is a sample script for this in /usr/share/doc/ltsp-server/examples/ named qemu-ltsp.
Note:If you change any thing under /opt/ltsp/i386 , you must rebuild the image for the change to be reflected on the client. Also, if you change the IP address of the server you must do an ltsp-update-sshkeys followed by ltsp-update-image.
CHANGES MADE IN CLIENTS:
STEP:1 go to advanced BIOS Features–> first boot device –> Realtek Boot Agent, save your setup by pressing F10 and exit.
STEP:2 Integrated Peripheral–>
OnBoardDevice–>OnBoard LAN Boot ROM–>ENABLE IT, save your setup by pressing F10 and exit.
STEP:3 Reboot your system