Installing LTSP on Ubuntu 9.04

Installing LTSP and enabling thin clients to boot from your ubuntu 9.04 machine is very  easy.

I did the following steps.

a) Install ubuntu 9.04   ( aka Jaunty) desktop   with a static IP.    (  A static IP is needed as your ubuntu box is going 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 cna 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)

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.

12 comments

  1. That’s Pretty cool! but can we collaborate ltsp with cluster? so not only disk can be shared but also CPU n RAM..thnks

  2. @yanwae
    LTSP does share ram/cpu. The programs are all run on the server. The clients are basically X frontends or graphical dumb terminals.

  3. Hi,I wanted edubunto installed on a server to be used by 30 students. I found that by doing a normal install followed by the build up you described was the only way it would actually install for me.
    I found however that using the ltsp-build-client command did not give me the i386 build but gave me the Amd64 one as shown by the folder created.
    I simply ran the command again with sudo ltsp-build-client–arch i386 and the i386 folder then appeared and I was away.

    I am not sure why I had so much trouble with the recommended install, and can only think that I did not at this stage have an Internet link, and only created one for the the install done above.

  4. Hi,I wanted edubunto installed on a server to be used by 30 students. I found that by doing a normal install followed by the build up you described was the only way it would actually install for me.
    I found however that using the ltsp-build-client command did not give me the i386 build but gave me the Amd64 one as shown by the folder created.
    I simply ran the command again with sudo ltsp-build-client–arch i386 and the i386 folder then appeared and I was away.

  5. If your machine is 64bit and you want 32bit ltsp clients, do:

    # ltsp-build-client –arch i386

  6. I am trying to connect my laptop (Dell INSPIRON 6400) with ‘Ubuntu-9.04) to internet using BSNL WLL phone. Any help in this regard is welcome. I understand from the Blogs by Anil and T.T. Sunil that it is possible to connect from a Ubuntu-8.04 computer.

  7. I have installed ubuntu on 64-bit machine, installed ltsp and build amd64 client. Want to test it with qemulator.

    I have made the following changes in qemu-ltsp:

    if [ -z “$ROOT” ]; then
    ROOT=/opt/ltsp/amd64
    fi

    if [ -z “$server” ]; then
    server=192.168.0.1
    fi

    Created new machine in qemulator, selected boot image qemu-ltsp and changed architecture to x86 64 bit in qemulator.

    When I start machine It gives message no bootable device.

    have also modifed /etc/ltsp/ltspd.conf for amd64

  8. @Dave Wilson
    Dave,
    i have about 10 PC’s and a server, and am headed to Africa to set up an network in a school like you mention, but am clueless as to where to begin. Is there a chance you could provide help for a novice? many thanks,
    Chris

  9. @ChrisC
    Hi Chris,
    While in the Peace Corps I setup a full LTSP environment in a high school in the Philippines with 4 labs, four servers, and about 50 clients, and a full web/file/internet filter server. The clients were all ancient Pentium 1s and 2s from World Computer Exchange.It is built around the Ubuntu 8.04 LTS release. It has been in use for more than a year at this point.
    When will you be headed to Africa? I may be able to provide a little help, and, if you wish, a complete turnkey implementation.
    You may contact me at nrbcenter-peacecorps@yahoo.com.
    This offer of help is for any volunteer trying LTSP in a third world country.
    Neal Bierbaum

  10. thanks for the information. I have up and running great with following steps by steps on your instruction. Another question, how would I set the client to log on automatically without the user have to type in the username and password?

  11. Nice Blog. But i have one doubt. How do i add users to the ltsp server . i have set up the ltsp server and i could boot from the server but i couldn’t login. How do i add users?..

Comments are closed.