LTSP in Debian Stretch

LTSP

  • LTSP is a collection of software that turns a normal GNU/Linux installation into a terminal server.
  • This allows low-powered, low-cost thin-clients (or legacy hardware you already own) to be used as terminals to the thin-client server.
  • Other thin-client systems require each client to have software that boots the system to a point to be able to connect to the terminal server. This could be a full-blown operating system, or a minimal OS that simply provides an interface to connect to the server. Such systems require more maintenance and authentication.
  • LTSP, on the other hand, requires no client-side software hence they are easy to maintain.
  • It requires only a PXE <Pre Execution Environment> capable network interface, which many thin-clients and PCs have built-in already.
  • No physical storage media required.

Server Setup

  1.  Make the IP Address of the server static. Done from the DHCP server.
  2.  apt-get install ltsp-server-standalone,ltsp-client and dnsmasq.
  3.  ltsp-config dnsmasq ..will create /etc/dnsmasq.d/ltsp-server-dnsmasq.conf.
  4.  If the server will run one subnet containing internet connection and clients it need have only one network interface card.
  5. In this case dnsmasq can be configured to run a dhcp-proxy if there is alreay another dhcp server active.< comment out the dhcp-range line and ensure there is a line uncommented stating dhcp-proxy>
  6. If the server will also run a dhcp-server then comment out the dhcp-proxy line and leave the dhcp-range line uncommented, ensuring the subnet entries are correct.
  7. Edit the config file /etc/ltsp/update-kernels.conf to have the uncommented lines
    1. BOOT_METHODS= NBD << network block device, earlier nfs(network file system) now nbd>>
    2. IPAPPEND=3
  8. reconfigure linux kernel.
    1. dpkg-reconfigure linux-image-$(uname -r)
    2. //will call update-initramfs which will generate /boot/initrd.img-…. &
    3. // triggers call to /usr/share/ltsp/update-kernels
  9. Inspect and edit as desired /etc/ltsp/ltsp-update-image.excludes and check the list of software to be excluded from running in client.
  10. ltsp-update-image –cleanup /
    1. Will update /var/lib/tftpboot directories for chroot. ie…putting pxelinux.0 and pxelinux.cfg and latest kernel into /var/lib/tftpboot/ltsp/amd64/
    2. triggers ltsp-config nbd-server –will create /etc/nbd-server/conf.d/swap.conf and /etc/nbd-server/conf.d/ltsp_amd64.conf & nbd-server **
    3. it also creates /etc/nbd-client & will put latest squashfs image for nbd into /opt/ltsp/images.
  11. run as root — service nbd-server restart
  12. run as root ltsp-config lts.conf
    1. creates a default lts.conf file create users for ltsp clients.
  13.  following operations require the recreation of squashfs image.ie run ltsp-update-image –cleanup /
    1. Server is updated
    2. Server is added which is to be made available to clients.

Process of booting ltsp client.

  1. client systems are set to boot from network via a protocol called pxe embedded in NIC Rom. PXE request an IP ADDRESS which is broadcasted throughout the connected network.
  2. The DHCP server passes additional parameters to the thin-client for connecting to the ltsp server along with the ip address.
  3. The client then downloads a Linux initramfs filesystem / initrd image via TFTP into a RAM disk .
  4. The thin-client then boots the downloaded Linux initramfs image, detects hardware, and connects to the LTSP server’s X session (normally handled by ldm).
  5. The LTSP server transfers all graphical information to the thin-client over the network.
  6.  The LTSP client will work in a chroot environment provided

Clients enabled with network booting can connect to this terminal server.

Leave a comment