LJ Archive

Linux Terminal Server Project

Jorge Eduardo Lema

Issue #86, June 2001

Reduce costs and improve productivity with easy-to-install diskless workstations.

The Open Source movement can help many people and institutions in Latin America by giving them access to technologies and knowledge that are otherwise restricted to developed countries. The lack of economic resources, proper infrastructure and technical education for the vast majority of the population are the main reasons why Latin America is far behind the first world in the use of computer technology, and they have prevented it from reaping the benefits of the information revolution the Internet has created. For example, less than 10% of the population of Colombia (estimated at 40 million) has ever logged on the Internet. This is not an exception, and most countries in the region suffer from similar problems. By using cost-effective, easy-to-implement, open-source technology and free software, these countries can catch up with the industrialized world.

There is an open-source project that could make a huge difference in Latin America: the Linux Terminal Server Project or LTSP (http://www.ltsp.org/). The appeal of this project is that it provides an easy way to set up low-cost, diskless workstations that boot from a network server running Linux. Today, many public and private Latin American institutions can hardly afford new computers or expensive software license fees. By using diskless workstations and Linux, they can save large amounts of money and become much more productive. This technology may also be used to teach children and workers the technical skills they require for the future.

In this article I will discuss the LTSP, describe my experiences with it in a small institution in Colombia and examine what is needed to implement and configure it. This article is merely informative, and it's not intended to be an LTSP HOWTO. Precise installation and configuration instructions can be found at the project's web site (http://www.ltsp.org/documentation/).

What Is the Linux Terminal Server Project (LTSP)?

The goal of LTSP is to create a simplified way of setting up diskless workstations for Linux. By definition, a diskless workstation is a computer that boots after downloading its operating system from a server on the local area network. The LTSP tools accomplish this process by adding small kernel images, XFree86 servers and several other network tools to the server that will pass them to the workstation on request. The diskless workstation only needs a boot ROM for its specific network card in order to obtain the necessary software from the server. Making good use of the open-source software from the Etherboot Project (http://etherboot.sourceforge.net/), the LTSP has created its own boot ROMs and employs them with its software. Understanding that building (burning) a boot ROM for a network card may be a difficult task, a company close to the project, Diskless Workstations (http://www.DisklessWorkstations.com/), offers preconfigured ones for a small price at their web site. It's worth noticing that LTSP's boot ROMs can also be written to a floppy disk from which the diskless workstation can boot.

Our Experiences with the LTSP

I started implementing diskless workstations based on the LTSP tools last year, when a small association of sugar cane industry workers needed a low-cost, easy-to-use computer and information management solution for their headquarters. The company, Productivos Ltda., had a very tight budget, and its office workers were not particularly familiar with computers and software. They had only one computer running Windows 95 with an unlicensed version of MS Office to handle letters, accounting and payroll. Most of the office work was still carried out manually. The new manager of the association wanted to buy five more computers to cope with all the work more efficiently. She also wanted a local area network so people could share files and printers and have access to the Internet. While looking on the Net for a low-cost solution to their problem, I came across the LTSP. The solution was at hand. Productivos Ltda. did not have to buy expensive, state-of-the-art computers or pay for costly software license fees. They were going to have an LTSP network and use StarOffice as their productivity tool.

A test of the LTSP software was conducted before the actual installation, using an old diskless Pentium computer and booting from a floppy disk. After a few tweaks that included the correct setting of the international keymaps under X, I decided this was the perfect solution for Productivos Ltda.

The association bought four new AMD K6 class diskless computers with 32MB RAM each (the lowest configuration available) to act as diskless workstations and a PII 350MHz with 128MB RAM to act as server/workstation. Even though this looks like a normal configuration for many small offices, Productivos' budget would have normally been able to afford fewer computers under other circumstances (i.e., a Windows network). Just in software license fees, Productivos Ltda. saved around $3,000 US. To avoid booting from floppy disks, the workstations needed bootable network cards. Four Linksys 10/100Mb bootable network cards were bought directly from DisklessWorkstations at $34 US each. A matching 8-port Linksys 10/100Mb hub was acquired from Outpost.com (http://outpost.com/). The required UTP Level 5 cabling was ready in less than a week. The hub and cabling both cost around $350 US.

Red Hat 6.2 (http://www.redhat.com/) was the distribution of choice for the server because it had been fully tested, and it's easy to configure and maintain. Since all the diskless workstations were going to run X and StarOffice 5.2 (http://www.sun.com/staroffice/) remotely, we decided to stay away from memory-intensive GUIs like GNOME or KDE that would reduce the server's performance. We chose to use a window manager with the basic functions only (start bar and menus) and selected IceWM (http://sourceforge.net/projects/icewm/), the lightest window manager around. Only a couple of entries from IceWM's main configuration files (menu, winoptions) were added or deleted to fit the configuration we wanted. Ten different user IDs were created on the server, each with its own StarOffice workstation installation. It's worth noting that StarOffice is a memory-intensive application, another reason why we chose a light window manager instead of GNOME or KDE. The installation of printers was quite simple. A replacement for Red Hat's print tool that adds an LTSP printer to the options is part of the project's software. Now the new LTSP network was ready. The entire installation and configuration was completed in just one day.

The test by fire came when the users logged on the network. They were enthusiastic about the fact that they now had computers to help them with their work. Nevertheless, they needed some training before actually using the computers. All the users went through a two-week in-house training course to familiarize themselves with the new tools available. The training included computer basics and the uses of StarOffice. At the end of the course they were all working without problems and using their diskless workstations for their (previously manual) tasks.

The association's LTSP network has been running smoothly for more than a year now, and they are even planning to add some more diskless workstations. Productivos Ltda. became much more efficient and, at the same time, gave its workers the chance to learn and explore new technologies. All of this would have been difficult without the help of the LTSP and the Open Source movement.

What You Need to Make It Work

System requirements for an LTSP network vary depending on the number of concurrent diskless workstations accessing the server and the applications they will be running. The two most important things to consider here are the server's available memory and the speed of the network. Even though a 10Mb network can handle a large number of diskless workstations running console-based applications, a faster (100Mb) network is required if the workstations are to run remote X sessions and productivity applications like StarOffice. The minimum server configuration for an LTSP network is a Pentium-class computer with at least 64MB RAM and a 2GB hard drive. On the workstation side, a 486 or K5 computer with 16MB RAM and a 1MB video card (for X) can get the work done.

The whole LTSP network operation depends on the good condition of network cards, hubs and cabling to run properly and smoothly. Please be sure to check them prior to any installation.

The Software

LTSP tools currently run on the following Linux distributions:

  • Red Hat 6.0, 6.1, 6.2 and 7.0

  • Mandrake 7.2

  • SuSE 6.2, 6.3, 6.4, 7.1 and 7.2-beta

  • Debian 2.0, 2.1 and 2.2

  • Caldera eDesktop 2.3, 2.4 and eServer 2.3

All the software and documentation needed to run an LTSP network can be obtained from the download section of their web site, http://www.ltsp.org/. The necessary precompiled packages come in both RPM and TGZ formats. Remember to read the documentation before attempting to install the software and scripts.

Quick Installation Guide (Extracted from the LTSP Installation Guide)

The Quick Installation requires that your installation meets the following criteria:

  • You are installing on a Red Hat 6.0, 6.1, 6.2 or 7.0-based system or a Mandrake 7.2-based system.

  • The server will have an IP address of 192.168.0.254.

  • The workstations will have addresses in the range of 192.168.0.1 through 192.168.0.253.

  • Applications will run on the server, displaying output on the workstations.

  • You are using DHCP.

Download the LTSP RPM packages from the LTSP download site, http://www.ltsp.org/.

  • lts_core-2.xx-xx.i386.rpm—the Core LTSP package, which contains the root filesystem, configuration utilities and documentation for the workstations.

  • lts_kernel_xxxx-2.xx-xx.i386.rpm—precompiled kernels for diskless booting. Choose the appropriate kernel for the network card of the diskless workstation.

  • lts_xxxx-2.xx-xx.i386.rpm—precompiled X servers. Choose the appropriate X server for the video card of the diskless workstation.

Install the rpm -i lts_core-2.xx-xx.i386.rpm, rpm -i lts_kernel_xxxx-2.xx-xx.i386.rpm and rpm -i lts_xxxx-2.xx-xx.i386.rpm packages.

Verify that dhcpd is installed on the server. Run the following command:

rpm -qa | grep dhcp

It should report a line like:

dhcp-2.0-5
If it doesn't, then you need to load the DHCP RPM from the Red Hat installation CD.

Once the installation of the above packages is complete, you need to move to the /tftpboot/lts/templates directory. Several files there will configure the system files on your server. Each one of these files is responsible for one system file. Take a look at those files, and make sure you agree with what they are going to do. They can potentially make your system vulnerable to intrusion. You may wish to make changes to the system files manually. If you want to do it automatically, then run the ltsp_initialize command:

cd /tftpboot/lts/templates
./ltsp_initialize

Copy the /etc/dhcpd.conf.example file to /etc/dhcpd.conf. Modify the dhcpd.conf file to include the MAC address of the network card in the workstation. Then, add the following line to the /etc/hosts file:

192.168.0.1    ws001
You should next edit the /tftpboot/lts/ltsroot/etc/lts.conf file to make sure the entries are correct for the workstation. Then reboot the server and turn on the workstation. You should get a graphical login prompt on the workstation. You can log in using any user ID available on the server.

As you can see, installation of an LTSP network is straightforward, and it can be up and running in a few minutes. Don't forget to follow the instructions carefully, and if you have any difficulties, read the troubleshooting section of the documentation. The project's mailing list is also a good source for solving problems, finding out about new software developments and learning from other users' experiences.

Conclusion

Some important features elevate the stature of this open-source project: its up-to-date documentation, which guides the user through the entire installation; configuration and troubleshooting process; the project's contributions area where people have added their own enhancements to the software, including support for things such as LDAP and dynamic DNS; and its very active mailing list, where most of the questions are swiftly answered by the developers themselves.

The LTSP is now part of SourceForge—good news for users and developers alike. Many new contributions and enhancements to the software are sure to come in the near future, making LTSP the tool of choice for many diskless workstation networks in Latin America and the rest of the world. The recent appearance of a Red Hat-based distribution by the K12 Project (www.riverdale.k12.or.us/linux/k12ltsp.html) includes software from the LTSP. That the K12 Project is aimed mainly at schools and children is proof of the great advancement and significance of the LTSP.

The project's documentation has been translated into Spanish but not yet to other languages. We hope that the LTSP's affiliation with SourceForge means many eager translators from different countries will soon start contributing their work.

Since my first experience with the LTSP, I have had the chance to implement its diskless workstations solution in several environments, including public schools, internet cafés and small companies. To our satisfaction, all of those networks are working smoothly today and most of the users have benefited from the new technology. Maybe this is what the Open Source movement is all about: helping people help themselves.

I'd like to thank Jim McQuillan (jam@McQuil.com) and his friends for their outstanding contribution to the Open Source movement, the development and maintenance of the Linux Terminal Server Project.

Jorge Eduardo Nieto Lema is a 32-year-old Colombian who works as an independent Linux consultant. He is currently working on a port of the LTSP's software to his favorite Linux distribution: the great Slackware. He can be reached at jnieto@yupimail.com.

LJ Archive