Linux X-Terminal
After a (good) number of attemtps to revive my old 486Dx2 with several linux distributions, I gave up and decided to transform it into an X-terminal. This means: I had a good Athon XP2100 working at home (actually at my College) and I wanted to use it as an X-server for my old machine, thus sharing the Athlon's CPU and memory, but having "two" usable computers.
Follows a description of the "old thing itself":

CPU Intel Pentium 486Dx2 66MHz
Drives Two very old HD (both ATA):
  • Seagate ST3660A (Aprox 500Mb)
  • Conner Peripherals CFS425A
And a standard 1.44Mb Floppy
Video Card Cyrrus Logic GD5424 (an old old one)
Network card (you NEED one) Genius GE2000X, which is NE2000-compatible

In what follows, I try to describe the complete process of transforming the 486 into an X-terminal. I hope it is useful for someone.

1) In the existing Linux computer
There are several Linux mini-distros in the Internet, but for starters, I decided to have, at least, a "working" machine, without X. Download tomsrtbt. It is just everything in a floppy. Now you need to configure your hard drive(s) so that they can hold the complete linux kernel and X-server. So, download tomsrtbt and make a bootable disk from it. The instructions are clearly stated in toms web page.

2) In the old machine

1.- Boot it from the floppy you just created. Press return all the times it asks for a confirmation until you are prompted to login. Login as root with the default password "xxxx"

2.- I guess you know how to fdisk, etc... but just in case, here is a verbatim copy of how to get one (the first hard drive) partitioned with one partition for linux and the other for swap. I AM ASSUMING YOU WANT TO DELETE ALL THE DATA IN THAT HARD DRIVE. Do not blame me ;-)

# fdisk /dev/hda
# p

This shows you a list of partitions. Write down the number (1, 2, 3, ...). There may be none, if the disk is not formatted. We are deleting all of them. Assume the numbers are 1, 2, 5

# d 1
# d 2
# d 5

Now we have to create a root partition and a swap one. You only type the "n", the "p" and the numbers.

# n
primary (p) or extended (e)? p
number (1-4)? 1

Now you are prompted for the starting sector and the ending one. Give this partition everything but the same amount of RAM memory you have. You may need some (simple) computations, but I am sure you can do it. Tell the system to make it bootable and Linux type:

# t
partition number? 1
Filesystem type(......)? 83

The "83" is the Linux ext2 type. The one you want for it. Now create the swap with the rest of the space:

# n
primary or extended? p
partition number (1-4)? 2
Starting point? RETURN
End Point? RETURN
# t
partition number? 2
Filsystem type(......)? 82

And now DO NOT BLAME ME! press w and RETURN . "Syncing disks", etc... and you are done with fdisk. The prompt now is the root shell of toms.
There you go, you have a nice HD with an ext2 partition and a swap one. Make an ext2 filesystem in /dev/hda1
# mke2fs /dev/hda1

It should work. Now you have to get Linux Embedded Machine, which contains the minimum for an X (SVGA) terminal, afaik. Do it from the old machine (IF toms was able to set the network card up) or from the main one. In the end you will need to copy everything to the old machine, so... try from it. If your network card was detected by toms and there is a dhcp server in your network then you can do it from the oldie. Otherwise, just download it to the "big one" and transfer everything with floppies to the oldie. If you want to get it from oldie (let us call it like this from now on), you have first of all to mount /dev/hda1. Make two directories, one for the floppy and one for the HD, and mount the latter:
# mkdir /mnt/floppy
# mkdir /mnt/hda
# mount -t ext2 /dev/hda1 /mnt/hda
# cd /mnt/hda

Now we are at the "root" point of /dev/hda1, where we are going to install lem. Download it here and gunzip, untar it (assuming you can do it from "oldie". Otherwise, mail me and I shall tell you what to do (get it with floppies from "big one"). Notice that what you get from the above link is a tar file containing two tgz's, so you have to untar once and gunzip-untar the files that appear. But you can safely get it with the wgets that follow.
# wget
# wget
# gunzip lem_base_V061.tar.gz
# tar -xvf lem_base_V061.tar
# gunzip lem_X11_V061.tar.gz
# tar -xvf lem_X11_V061.tar
And set up your network for the definitive system. I prefer using a static address, because I am not going to switch it on/off ever. Thus, as explained in lem's page, you have to do some "echo"'s. Data you need to know:
Needed data My data
oldie's name cuatro.penafiel
oldie's ip address
oldie's network
oldie's ip netmask
oldie's ip broadcast
oldie's gateway

With this data, you do:
# echo "cuatro.penafiel" > ./etc/config/hostname
# echo "" > ./etc/config/ipaddr
# echo "" > ./etc/config/netmask
# echo "" > ./etc/config/network
# echo "" > ./etc/config/broadcast
# echo "" > ./etc/config/gateway
Now edit ./etc/init.d/network to uncomment the gateway related link. You need to use vi (such is life), more or less as follows:
# vi ./etc/init.d/network
Now pres "a" and use the arrow keys to move to the line saying
#route add default gw ....
put the cursor ON the # just before route and press the SUPR key. This must have deleted the hash. OK press (ONE KEY AFTER ANOTHER, NOT AT THE SAME TIME) ESC : w q RETURN. If you are not out of the editor, then cry for help. But you *should*.

That was difficult but indispensible. Here comes the real HARD task: to compile a new kernel with minimal drivers for your oldie.

3) In the new (server) machine
Download my configuration file here and change the parameters for you network card. I guess you should need to change nothing else, but this is the really complicated matter. Obviously, you MUST know what network card you have and which is the proper driver. For a SVGA based card (which I am assuming you have), there is nothing else to be changed. Notice that there are NO NO NO NO NO drivers for CD-ROMS or ISO9660 filesystems, etc... The computer is going to be a pure terminal and use remote drives.
Also you will need to edit the processor type (it is configured for a 486). To do this, you will obviously need the kernel source, etc... Sorry but I guess you know someone able to do it ;-). Another possibility is just trying my configuration -hoping that your network card is ne compatible- and in the directory /usr/src/linux typing
From now one, prompts are going to be distinguished by big_one$ meaning the new "super" machine and oldie# meaning the poor 3-4-586 you are going to use as a terminal. Go to the kernel's source directory in the new one and make the image:

big_one$ cd /usr/src/linux
big_one$ make bzImage
Which creates in /usr/src/linux/ (in a subdirectory) a file called bzImage. This is the kernel you are going to install in "oldie". To do this, just copy it from its place to /boot/bzImage in oldie. Assume you have found it (the make bzImage) gives you a message stating where it is; cd to that directory. It should not be bigger than 1.4Mb (actually mine gets only 680K,more or less). Copy it to the floppy drive (a new one which we are going to format): Put the floppy in the drive
big_one$ mke2fs /dev/fd0
big_one$ mkdir /mnt/floppy_temp
big_one$ mount /dev/fd0 /mnt/floppy_temp
bib_one$ cp bzImage /mnt/floppy_temp
big_one$ umount /dev/fd0
WAIT till the floppy's light is off. Now delete the spurious /mnt/floppy_temp directory
big_one$ rm -fr /mnt/floppy_temp
Take the diskette out and put it into oldie's drive. I am assuming you have not touched this computer, so that you should be now at /mnt/hda. In any case, you can easily go there (cd /mnt/hda) Here, type

oldie# mkdir /mnt/floppy
oldie# mount /dev/fd0 /mnt/floppy
oldie# cp /mnt/floppy/bzImage ./boot/bzImage
oldie# chmod +x /boot/bzImage
oldie# umount /mnt/floppy
Finally (about to end!!!) you have to edit your ./etc/lilo.conf file to reflect the new kernel, etc...

Important: The following is not completely right, but it works for me and should work for you.

oldie# cd etc
With a little patience, you have to get a lilo.conf containing only the following:
The main thing with the editor is "don't panic". You can also safely remove the old lilo.conf and create a new one:
oldie# rm -f lilo.conf
oldie# vi lilo.conf
Now you are in vi. Press "a" and write down the above lines. Then press (without the spaces between, but one key AFTER another) ESC : wq RETURN. OK. There is a lilo.conf. And, last, run lilo.
oldie# lilo -r /mnt/hda
It should say someting about adding sure *. You are done. For now... Let's try and see if it works. The problem is: you may need the toms floppy to boot, it depends on whether the above works properly or not (I DO need the floppy, but I have only booted oldie once or twice).

X installation
If you downloaded both "lem_base" and "lem_X", then you should have no problem in configuring X (a subject I am not going to deal with, go to XFree86's web page and look there), as long as the system works properly. To try this, you must reboot your machine WITH the toms floppy in it:

oldie# reboot
and IMPORTANT when the "boot:" appears, write:
boot: bz2bzImage root=/dev/hda1
and answer RETURN to all the questions. If a login prompt appears (after say a couple of minutes), then you have been lucky. Otherwise, cry for help. Sorry.
To configure X, if your card is standard enough, you will only need to login as root (it asks for no password, because there was no one) and
oldie# xf86config
and follow the instructions (I refer yourself to XFree86's web page again).

4) The connection between oldie and big_one as X-terminal and X-server
A bit trickier than should be. First of all, you must choose an X-display manager in big_one. Do not use KDM because it is painfully hard to configure. Use GDM. If you cannot afford this, then use XDM, but this is rather minimal. There is a couple of things to change in GDM's configuration files -in big_one.
1.-Change /etc/X11/gdm/gdm.conf: edit it and in the section [xdcmp] change the line Enable=False to Enable=True.
2.-Add a line oldie to the file /etc/hosts.allow: this means exactly adding a line with the name of "oldie". This is my /etc/hosts.allow:
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
cuatro.penafiel cuatro
To reboot the X services in "big_one", I suggest doing, in a terminal (CTRL-ALT F2): log in as root

big_one$ telinit 2
big_one$ telinit 5
I forgot to tell you to try and test the X configuration in "oldie". But assuming you have done it and it works (the easiest way is, after running xf86config, type startx. If there appears a nice X screen with a terminal, then it is working. Otherwise, you are in trouble.
You need to know now the IP number of "big_one". YOU HAVE TO KNOW HOW!. Assume it is


In oldie, type
oldie# X -query
And wait. After some time (two minutes in my 486) you get a "welcome to big_one" log-in screen. Congratulations.

That should be all. Do not hesitate to mail me if you have any questions. But I have gone through it and all this has been written by memory... Trust it as what it is. Good luck.

[-]For a distro giving no problems and no hassle, use Mandrake 9.0. I have returned to "RPMS" after a whele using Slackware... Apologies to the purists.

[-]Old linux stuff I do not use any more:
My previous last successful install on a laptop was Slackware 7.1 on an AHTEC computer (I cannot remember the model, but it has SiS components, SiS630 to be more precise. Briefly, the configuration needs: module "sis900" for the net card (which is standard), alsa drivers for the sound card (you must load the alsa module "sound-card-trident", but follow the instructions of Alsa))

Last Edited: December 2, 2002. Pedro Fortuny Ayuso. Quanta3.