Installation

LTSP is packaged in various distributions. The links below point to each distribution's installation page. If your favorite distribution is not listed below, you can also package it directly from the upstream sources. You can use the packaging instructions as a guideline.

older releases: LTSP-4.2 is still available for download. However it's very old, unmaintained and unsupported.

Hardware Requirements
A lot of LTSP deployments are in classroom environments, and usually, in these situations, the primary goal is to re-use existing hardware that the school already owns. However, specifically designed thin clients can be used also.

A person setting up a LTSP thin client environment for the first time, typically asks two questions:
 * Will my existing machines work as terminals, or, what should I buy to use as a terminal?
 * How big a server do I need?

Chances are, hardware that you already have is more than sufficient for terminals. One of the great advantages of an LTSP Server is that you can set up a high quality lab of terminals for your students to use, by leveraging the machines you already have. As for servers, usually, it's very easy to turn any high-end single user desktop machine into a terminal server capable of handling many thin clients. We'll present some guidelines that should help in making the most of your resources.

Thin Clients Compared

Client
The following paragraphs will describe the specifications of you're reusing older hardware.

CPU
For using the default, secure mode of LTSP, you'll need to have a slightly faster CPU. Any 533 MHz or better CPU should provide acceptable performance.

If you have slower clients, in the range of 233 MHz to 533 MHz, you may be able to use them, if you're willing to reduce the security of your thin client network. More information on this is available in the chapter on security.

Network
A thin client boots over the network, using a small program called a network boot loader. This network boot loader is sometimes located on the card itself, or, for older cards without one, the user can provide one on the hard drive, a floppy or CDRom which can be used to boot the thin client.
 * PXE: This one is the most common, and many network cards and motherboards with built-in network cards support this. If you have one of these, you'll be able to boot without any problems.
 * Etherboot/gPXE: For older cards that don't have PXE included on them, you can use the Free Software equivalent, Etherboot, or it's newer replacement, gPXE. This excellent alternative to PXE can either be booted from a floppy, memory stick, or CDRom, or, if you're handy with electronics, be burned onto a EPROM if your card has a socket for one. More information on the project can be found at http://www.etherboot.org, and you can download ready-to-use Etherboot images at http://www.rom-o-matic.org.
 * Yaboot: For Macintosh PowerPC machines (iMac's and later), you can use the built in Yaboot network boot.

Memory
The bare minimum for a thin client to work is about 48MB, but it will be unusably slow, so it is recommended to install at least 128MB Ram, with 256MB Ram if you can spare it. This will really help speed up thin clients.

Video Card
Typically, any video card that uses the PCI bus and has 16 MB or more of memory, should make a reasonable client.

Server
An LTSP thin client network is quite scalable; a moderately powerful machine can serve several thin clients, and if you need to add more thin clients, you can either expand the capabilities of the existing server, or, simply add more servers.

Server sizing in an LTSP network is more art than science. Ask any LTSP administrator how big a server you need to use, and you'll likely be told "It depends". How big a server you need does depend largely on what it is you're planning on doing with your thin client network. The server requirements needed for a network where the only use will be a little light web-browsing, with no Java or Flash, will be greatly different from a network where you want to do heavy graphics, interactive games, and Flash animation. Here are some common guidelines that should fit most "average" cases.

Memory
A GNU/Linux based operating system makes efficient use of memory. The usual formula that's used for adding memory to a thin client server is: 1500 + (30*N_FAT_CLIENTS) + (300*N_THIN_CLIENTS) So, if your target is to have a server with 20 thin clients, you'll need: 1500 + (30 * 0) + (300*20) = 256 + 3840 = 7500MB (little more of 6GB RAM) Making sure you've got enough memory is the single most important thing you can do to help the performance of an LTSP thin client server. If you do not have enough memory in your server, you'll find your server will have to use the hard drive as an overflow "virtual" memory (swapping). Hard drives are much slower than memory, so you'll find things getting very slow if this happens.

If you intend to make heavy use of graphics work in your curriculum, you may want to add even more, perhaps doubling the previous estimate.

Processors
How fast a processor you need is entirely dependant on what programs you plan to use. Interactive games require a bit more than say, a word processor. If you plan to use Java and Flash plug-ins in your web browser, these can consume a lot of processing power. For a "mixed" model, i.e. some people playing TuxMath, a few people browsing the web, and a few people typing in LibreOffice, a 2GHz or better processor should be able to adequately handle 20 people with some minor delays. A 3GHz processor would be better.

For larger networks, moving to an SMP (Symmetric Multi Processing), or multiple CPU server may be advantageous. If you plan to handle 30 or more clients, a newer dual-core Xeon server or dual-core Opteron will provide good results. Remember, if you need to serve a large number of clients, it will be worth your while to configure multiple LTSP servers, each handling some of the terminals.

Disks
It's advisable to use some form of RAID in the terminal servers. Besides saving your data when a single disks fails, it improves the performance (especially read performance, which is the most common type of file access). For people on a budget, setting up software RAID 1, with 2 SATA disks with NCQ (Native Command Queueing) will provide good results. If you have a bigger budget, and a bigger network, setting up your server with RAID 10 along with 10,000 RPM disks or SSD's will give you the best speeds possible. This will provide you with top notch performance and reliability.

Network
If you have more than 20 users, it is recommended to use Gigabit Ethernet connected to a gigabit port on a switch for your LTSP servers. Although normal usage ranges from 0.5 to 2mbit, clients can peak quite high (70mbit), especially when watching multimedia content. Cables should be of a newer category than cat 5 both from the gigabit port of the switch to the ethernet box on the wall and from this box to the gigabit nic on the server. Cat 6 is readily available and nearly as low in cost as is cat 5.

One complication can arise when using hardware that creates a mix of 100bit ethernet network cards and gigabit ethernet network cards. The phenomenon of flow control may be evoked which, although is supposed to help cope with overflow may not be desirable for use in ltsp.

Example: The server has a gigabit nic, the switch has gigabit ports but some or all clients have 100bit nics. The switch responds to a client and sensing that the flow is too much for the client issues a stop command to the server so that the client may catch up. However, the stop command to the server affects all traffic from the server to all clients creating catastrofic delays to thin clients.

Workarounds: Upgrading all 100bit nics to gigabit nics is the costliest solution. Having a switch which is "manageable" as opposed to "unmanaged" used to be a costly solution but has come down in price, so check what is available to see if this is viable. The managed switch will allow for the flow control to be switched off. Switches exist that have 100bit ports and one or two gigabit ports. These are less expensive than all gigabit switches, however, the problem remains because although now the switch and client are "matching" the server is still feeding the switch at a faster speed than any such client can receive and the buffer of the switch fills up. Another "solution" to deactivating flow control is to change the configuration on the gigabit nic on the server. One tool which may work is ethtool. However, "mileage varies" i.e. some chipsets cooperate and others don't. Further discussion can be found under troubleshooting.

Booting a thin client involves several steps. Understanding what is happening along the way will make it much easier to solve problems, should they arise. There are four basic services required to boot an LTSP thin client. They are:
 * DHCP
 * TFTP
 * NFS or NBD
 * SSH