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.