Site Updates | Contact Me
About Publications Notepad Articles

Articles

- Main

Computer Security

- Detecting compromised servers in quorum systems

Fault Tolerance

- Distributed diagnosis

General / Other

- Linux-based diskless access terminals

Design of Linux-based Diskless Access Terminals

This work was done between December 1999 and May 2000 for my undergraduate project. The motivation behind this project was to provide affordable Internet access to the common man (in India). The idea was therefore to be able to browse the Internet using a TV, an infra-red keyboard, and some minimal amount of additional hardware. This additional piece of hardware has to be really cheap. DSL technology (DIAS) developed by the TeNeT group at the Indian Institute of Technology Madras provided low bandwidth but cheap and always-on Internet access.

The minimal amount of hardware used was a motherboard with a Cyrix processor, and with no hard disk. An ethernet card with an attached EEPROM was available, and I would later consider the use of a flash ROM card designed specifically for this purpose. With this minimal hardware, the user must be able to browse the Internet using graphical browsers and possibly use other applications.

Two solutions were investigated in this project. The first one was to put some bootstrap code in the ethernet card's EEPROM, and have the Linux kernel along with the filesystem downloaded over the network into the main memory. The second solution was to boot off the flash ROM card and use the read-only filesystem stored in the flash ROM card.

In the first solution, the etherboot package was used for downloading the Linux kernel and the filesystem together over the network. The filesystem was stored in main memory as a RAMDisk. Obviously, there are space constraints, both in terms of the download time of the Linux kernel plus filesystem and the amount of memory available. Running X Windows, even simply as an X client, was ruled out. Fortunately, AT&T research at UK had developed a software called VNC (Virtual Network Computing) that simply connects to a server on the Internet and gets the info to draw the screen at the client end. The server on the Internet runs the X server and the X client. IIT Bombay had a port of VNC using SVGALibs, which tremendously reduces the size of the VNC package. The final Linux kernel image was 300 KB, and the filesystem size was reduced to only 330 KB. The Linux kernel and the filesystem were downloaded using the TFTP protocol. Increasing the block size increases the efficiency of the protocol. Using the maximun packet size of 1432 bytes, the download time was only 31 seconds.

With this solution, I was able to demonstrate a diskless access terminal (thin client) which offered Internet browsing using graphical browsers. The user also had all other traditional UNIX and X packages at his disposal.

However, even a download time of 31 seconds is slow. The second solution, therefore, was to use a flash ROM card to store the Linux kernel and the filesystem instead of having to download it over the network. Midas Communications, a company in Chennai, had developed a flash ROM card that provided extra permanent storage space. The initial boot loader was already written so that the BIOS is fooled into thinking the flash ROM card is a floppy drive. The problem was to get the BIOS to boot from this "floppy drive." After messing around with drivers and interrupts, the problem was solved using LILO. The bootstrap code for the flash ROM was written by Suresh Venkitachalam, who was then an employee at Midas Communications. I had a fabulous time working with this guy. His knowledge and expertise in hardware and system software is immense.

I continued with this work even after my defense. This time I wanted to build a read-only filesystem on a CDROM, and have Linux boot off it and use the filesystem on the CDROM as the root filesystem. As I haven't documented it, I don't remember the details of this work.

This project was done under the guidance of Dr. Devendra Jalihal, a professor at IIT Madras. I am extremely fortunate to having got the opportunity to work with him, not just on this project but also on several other over a span of three years. He is the most encouraging and inspiring prof in the EE Dept. @ IIT Madras.


Related Links


This page was last modified on Thursday, December 27, 2007.