On a Debian 4.0 (Etch) or newer system:
1. If you have a DHCP server already up and running on your network:
apt-get install ltsp-server openssh-server
Otherwise, if you want your LTSP server to function as the DHCP server:
apt-get install ltsp-server-standalone openssh-server
2. Build the LTSP client environment:
If you're installing a different debian distribution than what's on the server, you will need to specify the --dist xxx commandline option. where xxx is your Debian distribution (e.g. lenny, etch). See /usr/share/debootstrap/scripts/.
ltsp-build-client will download a complete Debian filesystem into /opt/ltsp/i386 (or specify an alternate location with '--base') and install the ltsp-client and ldm packages (the LTSP Display Manager). Typically, you will need a desktop environment like gnome or xfce, or a window manager such as icewm installed on the server (NOT in the chroot).
The 2 ltsp configuration files inside the client are /etc/lts.conf and /etc/default/ltsp-client-setup. See the examples in /usr/share/doc/ltsp-client*. Also see the Edubuntu wiki http://doc.ubuntu.com/edubuntu/edubuntu/handbook/C/customizing-thin-client.html (note: Debian LTSP still uses NFS by default).
If you change the IP data after you have done the initial setup and run ltsp-update-sshkeys on the server.
The files the client will boot are installed on the server into/var/lib/tftpboot.
3. Configure /etc/dhcp3/dhcpd.conf:
See examples in /usr/share/doc/ltsp-server/examples/dhcpd.conf or /etc/ltsp/dhcpd.conf and adapt to your network.
etch is still affected by: http://bugs.debian.org/416868 so you need to add this line if the dhcp server and tftp server are the same:
lenny also requires the next-server option, but is included in the example dhcpd.conf file.
invoke-rc.d dhcp3-server restart
Alternately, configure /etc/dnsmasq.conf:
See example in /usr/share/doc/ltsp-server/examples/dhcpd-dnsmasq and adapt to your network.
invoke-rc.d dnsmasq restart
4. Configure /etc/exports:
5. Start tftpd. By default, tftpd-hpa is started from inetd. you may need to restart inetd after installing tftpd-hpa.
invoke-rc.d openbsd-inetd restart
Alternately, edit /etc/default/tftpd-hpa to have tftpd-hpa start on it's own.
and restart tftpd-hpa
invoke-rc.d tftpd-hpa restart
6. Boot a PXE or Etherboot capable machine and enjoy. note that some older versions of etherboot do not support ELF images, and may not work without additional configuration.
Backported packages for etch
If you want to use newer LTSP related packages (with ltspfs and pulseaudio sound):
1. Add the key(s) for the repository to your keyring(after verifying that you trust them):
- apt-key add pkg-ltsp-keyring
2. Add to /etc/apt/sources.list:
deb http://pkg-ltsp.alioth.debian.org/debian etch-ltsp-backports main
- apt-get update
4. Install new packages:
- apt-get install ltsp-server-standalone
5. When building a chroot, you'll need to tell it to use the backport sources:
ltsp-build-client \ --extra-mirror "http://pkg-ltsp.alioth.debian.org/debian etch-ltsp-backports main" \ --apt-key /etc/apt/trusted.gpg
to get sound working with pulseaudio+alsa:
to get local devices working with ltspfs (usb sticks, cdrom, floppy):
1. echo fuse >> /etc/modules
2. modprobe fuse (or reboot your server)
3. adduser fuse USER
for some additional troubleshooting, try: http://wiki.ubuntu.com/DebugLocalDev
Known issues with etch ltsp backports
1. ldm: login screen shows white background (background image is hidden). no known workaround at this time.
2. ltspfs: mounts appear strange when running df. util-linux 2.13 fixed this bug, however it is still present in etch. workaround is to make /etc/mtab a symlink to /proc/mounts:
mv /etc/mtab /etc/mtab.old ; ln -s /proc/mounts /etc/mtab
3. ltsp-client: hostname displays as (none). workaround set up dns on the thin-client network, or:
echo ltsp > /opt/ltsp/i386/etc/hostname
4. ldm: support for mostly insecure logins (LDM_DIRECTX) requires getting /root to be writeable:
echo 'copy_dirs="$copy_dirs /root"' >>/opt/ltsp/i386/etc/default/ltsp-client-setup
if X doesn't automatically configure properly (it uses X.org's built-in configuration, which doesn't work as well on the version on X.org in etch), you may want to switch back to the slower but more reliable X configuration using xdebconfigurator:
1. chroot /opt/ltsp/i386 apt-get install xdebconfigurator
2. cp /opt/ltsp/i386/usr/share/doc/ltsp-client-core/examples/configure-x-xdebconfigurator.gz /opt/ltsp/i386/etc/
3. gunzip /opt/ltsp/i386/etc/configure-x-xdebconfigurator.gz
4. chmod +x /opt/ltsp/i386/etc/configure-x-xdebconfigurator
5. echo CONFIGURE_X_COMMAND=/etc/configure-x-xdebconfigurator >> /opt/ltsp/i386/etc/lts.conf
6. echo 'copy_dirs="$copy_dirs /var/cache/debconf"' >> /opt/ltsp/i386/etc/default/ltsp-client-setup
7. echo 'temp_copy_dirs=" "' >> /opt/ltsp/i386/etc/default/ltsp-client-setup