Enabling Mass Computing For the Global Children
Priyadarsan Patra ([email protected])
Given below are the specifics, in a nutshell, of what is needed for a Linux terminal server project suited for a village/small-town setting or in a school classroom. This is derived from an education project in USA called K12LTSP. After describing the resources needed of such a project, we will motivate the reason for terminal computing as a means for mass computing. Then we will delve into the mechanics of setting up the project. I have quoted information/advice from various sources liberally.
We need a P3 or better class of computer as a server, while old machines (dirt cheap) such as 486s can be good thin-clients. Server needs two ethernet cards (one to control the thin clients or dumb terminals and the other to connect to Internet) and an UPS. All the basic+ software on this linux machine is free. Only recurring cost is the Internet connection charge. We should get the old 486 or Pentiums from businesses that are discarding them, thus creating a win-win proposition. I have recently sent the setup software (for that I have 3 cd-roms which include RedHat Linux 9.0) to the principal of JITM in Gajapati, Orissa. (We are also talking to RourkelaEngineeringCollege with the help of Mr. S. Dasverma.) Thus, our resource needs are:
- CPU: One P4 class. Dual-core cpu or at least hyper-threading cpu for the server is preferred to handle many clients.
- RAM: 256MB + (50MB for each client, more the merrier). I propose 4 to 8 clients.
- HD: ATA/SATA 30+ GB. (Hardware RAID-1 configuration gives added protection for the system when a disk fails)
- Network: two 100/base cards and a 100base switch/router or hub (4 to 8 ports)
- Its more fun/useful if we have an internet connection. If we dont we dont even need the second Ethernet card. (Wireless configuration possible with some effort: see wiki.ltsp.org/twiki/bin/view/Ltsp/WirelessLtsp)
- The minimum usable X terminal is a 386/sx 25mhz with 4 megs of ram. While not that fast, it makes a usable station to run a web browser (such as Netscape). Image will display fast enough. Scrolling won't be fast though (some wave effect). While the machine displays slowly, the application server has no problem feeding it. One must note that 386 computers are older than the Linux project. We have found that few have unsupported video adaptors (or less than capable ones). Unfortunately, finding replacement video adaptor for those machines is not easy. Those machines are generally using ISA slots.
- Recommended X terminal
While faster is always better, a 486 computer using a Vesa local bus or PCI video adaptor offers a very good performance. Redrawing and scrolling is crisp. For example a DX/2-66 with an ATI Mach32-2meg is a cool station, running smoothly in 64k colors mode. Each terminal needs keyboard/mouse, an Ethernet card and/or a floppy drive. Floppy drive is not needed if the Ethernet card has the boot rom to boot from the network (served by the server).
- The 3 software CDs that I can send
- A good admin/teacher, a room, and some community support J
Here is a smattering of blurbs on Terminal Computing from various sources:
Terminal computing Motivation
A common question which is asked is what is meant by "terminal computing" or a "terminal server." Simply put, terminal computing is using a back-end server computer to power "dumb" and cheap client terminals. The idea is that a common user is using a terminal machine. That terminal does nothing but display output to a monitor and to accept input via a keyboard, mouse (and possibly other input devices, e.g. a scanner). All programs run on the server computer, using the server's memory and processing power. To the regular user, they think they're using a regular PC. They get a desktop, their application work as they normally do, and to the user everything is normal. There are dramatic advantages to this idea of computing; the advantages of terminal computing are:
· Lower client maintenance costs
· Reduced hardware costs by either using older hardware as clients or by buying cheaper terminals instead of full PCs
· Centralized administration of all clients
· Drastically reduced overall administrative costs
Users break things. They might break their computer hardware or they might "break" software. In a typical computer environment servers should run for months without major maintenance. But users machines always need routine maintenance. That maintenance may be reinstalling application programs, or reinstalling the entire operating system or it may be just basic hardware maintenance. Either way, that maintenance costs money.
Terminal computing radically reduces maintenance costs. Many terminal computers have no moving parts (no fan, no hard drive, nothing -- remember, all computing is done on the server). Some will object that such terminals cost almost as much as a typical cheap PC. But those people miss the point. What you're buying is reliability and reduced maintenance costs.
Other people will use old PCs as terminals. This presents a huge cost savings in not having to buy new hardware. With terminal computing, an old 486 or low-end Pentium computer is still a perfectly useful computer!
You also get radically reduced administrative costs with terminal computing. To give all users an application you don't install it multiple times on every user's computer -- you install it once on the terminal server. So instead of 20 or 50 copies of a word processor that an administrator has to maintain, update, and repair, the admin only has to maintain one copy.
Unix systems pioneered the idea of terminal computing and Microsoft has recently copied the idea and produced Windows Terminal Server to export Windows desktops to cheap terminals. However, the software costs of Microsoft's solution are outrageous, both in sheer dollar costs and also in the "cost" of freedom that you give up by agreeing to Microsoft's license agreement.
Overview of a K12LTSP Open Source Lab to setup our system:
A default K12LTSP installation uses two ethernet cards; eth0 and eth1. One card connects the server to your school network. The other card creates a private network for terminals (thin-clients). Your server and eth1 act as a gateway for the terminals to the Internet and the rest of your network. eth1 is configured to get its IP address via DHCP. A private DHCP server runs on eth0 to give IP numbers to terminals. This configuration is flexible in that you can easily have multiple LTSP servers in your building all sharing the same default configuration. Servers are "plug and play" with little or no configuration required. It only takes about 20 minutes to be up and running.
K12LTSP is based on Red Hat 9.0 with a full set of familiar GUI tools for configuring your server. You have the choice of KDE or GNOME desktops and many applications.
Software Included in the K12LTSP/K12Linux Distribution:
We've included a host of useful applications that will make you productive right away.
- Nautilus file manager
- Mozilla browser with Java(tm) and Flash (tm) support
- Ximian Evolution E-Mail, calendar and contact manager
- Adobe Acrobat Reader
- Auto configuration for many PCI based sound cards
- Auto configuration for both PXE and BOOTP clients
- File sharing for both Windows and Macintosh networks
- Much more...
Included is the rdesktop
package that provides access to Windows2000/NT4 terminal sessions with a simple click of an icon. This gives users a choice of operating systems as needed. Note that this option requires a separate W2K/NT terminal server and licenses for clients.
Detailed info on setting up from the 3 disks: Insert disk I into the cdrom of your server machine to install and configure the server. Read the following
Classroom Server 5+ clients
Your server will have two ethernet cards, one to create a private network (192.168.0.x) on a hub for terminals and one to connect to the rest of your network.
You can install LTSP servers with just one ethernet card. They will then live on your network and be available from all over your school. For single card installations we've prepared a list of files to edit to help you with your network settings.
By default the LTSP sever runs DHCP on the client's card (eth0) and automatically gives out IP #'s upon request. It then accepts bootp and PXE boot requests and passes on the Linux kernel to the client. The default dhcpd.conf file will support over 200 clients. All this happens on eth0. The LTSP server will not answer dhcp requests over eth1 (with the default settings.)
Why do we default to a private network and 2 ethernet cards? Thin-clients and servers can generate a lot of network traffic. By isolating this traffic on a single hub and routing only necessary traffic out to the rest of the network we lower the overall impact of clients on school networks that are often substandard in the first place.
Tip: Our classroom LTSP servers are connected to the rest of our school via 10base ports. We NFS mount /home over eth1 and run the clients from a hub on eth0. This works well and gives us a configuration we can easily replicate throughout our building.
It's a good idea to gather some information before you start installing Linux. If you simply click "Next" and "Yes" straight through the install after selecting "LTSP Server" you'll end up with a working server ready to go.
Not advised, but, If you are planning on using static IP addresses and/or just one ethernet card then you'll need to gather some information on your network. See the list of files to edit at the end of this page.
You can skip all this if you're doing a default install. Just plug eth1 into a port and if you have DHCP running on your network your server will be up and running. Connect eth0 to a hub for clients and you're ready to go!
One or two network cards?
DHCP or static IP numbers?
Classroom server or building/lab server?
Hostname of server?
- LTSP - Creates a terminal server for thin-client workstations. Server defaults to an IP gateway/firewall when 2 ethernet cards are present.
For our LTSP install select "LTSP."
Create user accounts later after system booting into linux and allowing you as the root to login for the first time.
eth0 is the interface on the thin-client side of your LTSP server. You will connect this network card to your terminal hub. The 192.168.0.x address is designated as a "private" IP address for internal networks. IP traffic from you clients is routed to the Internet and the rest of your network through eth1.
Note that the server has the last available address in this range, 192.168.0.254. The first client will be assigned IP # of 192.168.0.253.
You won't have to enter hostname info or any of the information in the lower half of the window. These settings will come from eth1.
The default for eth1 is "Configure using DHCP." If you are using custom settings then you'll need to click on the "eth1" tab and configure the card.
(Not recommended: If you're only using one ethernet card then go ahead and enter the information in the bottom part of this form)
Remember that all of this information can be edited later with the standard Red Hat network configuration tools menu.
Take a fast look at this detailed ZDNet article, which does an excellent job of describing its basic hardware and software ingredients.
Linux replacements for the spendy Microsoft tools.
Sound setup and other questions:
If there are any networking problems persisting, we can take care of them after booting the server. The network settings may be changed by the root from the Gnome desktop.
See http://k12ltsp.org/faq.html or, if needed, write to me.
Debian Edu is another package that is popular in Europe (Also known as SkoleLinux).
Quote from an article in the Washington Post:
In many ways, India is the perfect laboratory for adapting the Internet to development needs, bringing together abundant technological expertise with an estimated 700 million people in 600,000 rural villages. Although telephone lines arent necessary, electricity is, and unreliable power supplies leave many villages without electricity for all but a few hours each day. And some development experts say money used to equip villages with modems and computers could be better spent on primary schools or health clinics.
The approach pioneered by Jhunjhunwala and his colleagues here in the southern Indian state of Tamil Nadu aims to render that debate irrelevant by turning over the job of connecting rural India to the Internet to profit-minded entrepreneurs.
Central to the effort is Wireless Local Loop technology, which provides cheap, relatively fast Internet connections to fiber-optic cables as far as 18 miles away. Although many villages still lack phone service, Indias fiber-optic network is sufficiently well developed to provide wireless coverage for up to 85 percent of the country, Jhunjhunwala said.
He and his colleagues created an independent company, n-Logue Communications, which identifies promising kiosk owners, trains them and provides equipment computer, printer, battery backup and wireless Internet antenna for about $1,000; n-Logue helps the owners arrange financing, which is then paid off with revenue from the kiosks. The company makes its money from hourly connection fees.
So far, n-Logue has set up more than 500 kiosks in Tamil Nadu and other states, with plans for 10,000 by next June.
While most kiosks are run for profit, one of the most well-established parts of the kiosk network is a demonstration project set up with help from HarvardUniversity and the Massachusetts Institute of Technology, and financed in part by Indias ICICI Bank. Situated in the tropical Madurai district of interior Tamil Nadu, the Sustainable Access in India, or SARI, project has so far set up 40 kiosks in rural villages such as this one. The effort has not been without problems, most centering on the failure of kiosk operators to adequately explain and promote their services, according to Joseph Thomas, who manages the project out of a cluttered office at the Indian Institute of Technology campus.
You have to do a huge amount of awareness generation, and some of these guys are just not into that they think its like setting up a betel-nut shop or cigarette shop, Thomas said. If its to become a part of the community, it needs a person who empathizes with the community.