Back then my machine was a 25MHz 386DX machine with 4MB of RAM and 100MB of hard disk space. Running a monochrome X server at 800x600 pixels was just barely possible. Floating point performance was abmysal (no floating point hardware). Watching Gnuplot in action was like watching paint dry. This machine had no cache memory either. However, it was not the slowest machine that I ever saw Linux running on. This honor goes to a portable computer with a 16MHz 386SX. When I bought my 386 machine I did not think it was slow at all! It outperformed my previous 8MHz 8088 computer tenfold under DOS! I used this 386 machine to process real documents with LaTeX under Linux.
Times have changed a lot since 1992. Since my 386 days I have had a 90MHz Pentium, a 300MHz Pentium II, an 800MHz Pentium III, a 2.6GHz Pentium IV and right now I am typing this text on a 2.4GHz Core 2 Duo with 4GB of RAM and 320GB of hard disk space. This is 1000 times as much RAM as my 386 originally had and 3200 times the hard disk space. Speed increase must be a similar order of magnitude. Not to mention available communications bandwith (2400 bps for my first modem in 1992 versus 20Mbps ADSL right now).
I intend to keep the number of computers at home low. Right now I still have the Pentium IV (running Ubuntu) and the Core 2 Duo machine (running Gentoo Linux and dual booting several others). And I have a first generation ASUS Eee PC that orignally came with Linux preinstalled. Usable machines capable of running Linux can be had for free if you must, but they take up a lot of space. I run a lot of trial installations of Linux and other operating systems on virtual machines, which take up only disk space, which is cheap.
In 2002 I wrote instructions how to create a bootable Linux diskette that runs on a 386 with 4MB of RAM or maybe even less, using uClibc and Busybox. Title "Getting Linux into Small Machines". HTML, HTML tarball, LaTeX and PDF. This is a slightly updated version with some minor corrections. This boot disk uses LILO and an initial RAM disk and runs on a 4MB machine. To use it, uncompress with gunzip and dd (rawrite) to a diskette. Here are the kernel configuration file, the LILO configuration file and the shell script to create the boot disk from a root file system directory and a kernel.
Just to be compliant with certain requirements in the GNU General Public License and to make sure you can get the exact same sources as I got, here is the source code of all discussed programs on the diskette: util-linux-2.11r.tar.bz2, uClibc-snapshot.tar.bz2, e2fsprogs-1.27.tar.gz, busybox-0.60.3.tar.bz2 and the Linux kernel. This is now stored locally because one cannot rely on external servers, not even www.kernel.org.
See also my article titled "Linux Boot Loaders Compared". It shows how to install the kernel and root file system from the previous article onto diskettes and CD-ROMs using many different boot loaders. It tells more about boot loaders than you wanted to know. HTML, HTML tarball, LaTeX and PDF. This is also a slightly updated version with some minor corrections.
The "Getting Linux Into Small Machines" article has got a sequel. It is titled "Making Linux Installation Disks for Fun and Profit". It carries the ideas of constructing a bootable diskette using uClibc and Busybox a step further, adding more features and even some installation scripts that may serve as a starting point for a new distribution. HTML, HTML tarball, LaTeX and PDF.
All the articles above are of historical interest only. The world has changed a lot since 2003.
Back to my home page.