I’m using Linux since 2001 and it still amazes me day by day. After trying Red Hat, Mandrake, Debian, SuSE and many other flavors (yes, I do have a bag full of Linux distro CDs), I have chosen Gentoo as my main focus. It could be any other distribution, but that’s the advantage: you’re like in a clothing store where you can try anything that fits your size and preferences. And, after taking it for free, you can still modify the product to fit you better.

 

What do I had to fit? Firstly, a server. I needed a server to act as an access point for my local area network, but I needed something more flexible than a simple hardware router. And I needed to be cheap, because, at that time, I was still a student. So, I had a spare computer, very old, very poor (actually I have a lot of old computers, including a 286 at 16MHz from 1990 – works on Linux too!). The computer was a Pentium I class with a 200 MHz processor, 64 MB of memory (EDO), 2 MB video card, PCI and ISA slots, all produced in 1995.

 

As everyone knows, the main concern regarding Internet connected systems is the security. My second concern was the speed of my server. These two ruled out the option for Windows operating systems, because you need a recently updated system to avoid old known problems and still perform well. Windows 98, installed when the machine was donated to me, was slow and it needed some third party applications to run as a LAN server. Beside this, Windows 98 has the reputation to be very insecure and vulnerable to an incredible number of threats. Add the famous Blue Screen Of Death that shuts down the system whenever an application crashes and it’s enough to short it out.

 

I have to admit, my previous background was Windows. So, firstly I searched in Linux the tools and functions that do what Windows does, but soon I discovered that a different approach, like the one in UNIX systems, is easier to understand and use.

 

So, how do you fit an operating system on an old and weak computer? You build it yourself! And how do you make it quickly? You choose a distribution that installs a minimal system and lets you build the rest.

 

There are two categories of users that install operating systems: the ones which consider it a time loss and want to pass quickly all the steps to use the system and the ones which consider a detailed installation to be instructive and permissive. I may belong to the second category.

 

Installing a new operating system is like a journey: you have the starting point, you know where you want to end, but you have to discover the way. After finishing it, you look behind and everything looks easy. For me now it’s easy to remember it: boot from some bootable media that gives you access to the system, prepare the harddisk (partition, format), copy a minimal operating system on it (in Gentoo it is called a stage), log into the new system (using chroot) and prepare the system to boot from it: set passwords, make the machine to boot from the new system, check for possible missing things (like unrecognized hardware). Next step is to reboot and enter your new kingdom. If it fails, you take note of the reason and use the bootable media to log into the system and fix things. After that, you start optimizing and installing needed software: first you make sure you can go online, then you update your system using latest online sources, then add and configure the tools you need (for a routing server it’s enough to add some modules to the kernel, then install and configure the iptables application that acts both as firewall and router). Deeper, you recompile all the programs to fit your processor specifications – yes, on Linux you can make programs to use your specific hardware. There’s a drawback here: compiling on a slow machine takes a very long times – and this means days (it took me about 40 hours to rebuild the system). After that, you can see that the system is more responsive, the processor and the harddisk don’t work so much and you don’t get low system errors when running the applications.

 

After installing and seeing that your system takes so little to run (1-2% processor, 6-8 MB RAM) you cannot avoid thinking: it can do more! It’s a server, so it could offer more services. What about a web server? You just call around the classic gang (install Apache, PHP, MySQL) and put out a test site. Ok, it works, you still have plenty of resources. What can it do more? You install various monitoring tools but after a while you notice that, when everything works fine, you don’t take time to often to stare at all the numbers changing and the graphs climbing and descending.

 

Again, what else can it do? Could it be used as a desktop system, with a graphical display and icons and everything else? You can try this, thinking that, if it won’t work, you just uninstall it. So, you install a graphical desktop (not too rich, like KDE or Gnome, but something simpler like XFCE, Fluxbox or IceWM) and you see it works. You can even install and use the most recent versions of web browsers (Firefox, Opera), document editors (Abiword or even OpenOffice), music players (mplayer, xmms), other graphic monitoring tools (conky, and system tray tools) and… now you feel you reached the limit. The video hardware is not quick enough to show you everything, so flash animations and videos are playing discontinuously. Though, you can’t ask more from a 200 MHz Pentium I processor, 64 MB EDO RAM and 2MB video card. But you can still read news and blogs, write documents, send mail, view images, listen to music and play various little games.

 

Finally, the advantage of using Linux is obvious: you get a well fitted system for free that performs simultaneously as a router, web server and desktop environment with latest software on a machine in which the processor has 10% of modern processors speed, the memory is 3% of modern systems, the video card has 1% of modern video cards memory and it’s now 14 years old!

 

Indeed, you are often amazed about what old machines can do! But remember, these machines were more expensive than the ones we buy today. Lacking the technology development of today, much investment was put into their quality and you can feel it just by touching these ancient pieces of hardware: they are strong, robust, heavy, full metal, carefully crafted. And they are energy saving, using lower power sources than the ones you find today (for mine, a 175W power source).

 

More than that, they are compatible with some nowadays hardware. That’s what I noticed when I decided I need something more from my server (yes, more!). So, I changed the 6.4 MB harddisk with a 40 MB one (produced in 2005) and made the server to perform as a local storage using FTP and Windows share protocols. More than that, a server could provide a wireless connection for my laptops, so I bought a new WiFi card and installed it. It works!

 

What more? Who knows? The machine is online 24 hours a day, 7 days a week, and I shut it down only when I leave home for more than 2 weeks (as a precaution against possible electrical disasters). Now all my test sites are on the server, I perform my big or slow downloads (like DVD images) on it, and, not to stand for nothing, it acts as an online radio player and news reader. What could you ask more? I’ll write about that when something else comes to my mind.

 

Leaving the server, which works perfectly, another challenge for an operating system is to work on a machine that was designed for a different specific system. As I had a spare Compaq laptop that wasn’t performing too well on Windows XP, I thought I should give it a try with a Linux system. And, for various reasons, I chose Gentoo again (I know how to install it, it’s very adaptive and you get a good access to the hardware-software issues). So I began installing, same steps as above and… surprise: it works! Because it’s a working station (“working” here is just an expression), the main concern was the graphical desktop. So I installed KDE and various day-to-day use applications: OpenOffice (office suite compatible with Microsoft Office), Firefox and Opera (web browsers), GIMP (image editor like Photoshop), Inkscape (vector image editor, like Corel), Pidgin (instant messenger client, for Yahoo! messaging), Audacious (music player, like Winamp), Mplayer and VLC (video players), Audacity (audio editor, like SoundForge), Cinelerra (video editor), Krusader (file manager like Total Commander, but also the KDE Konqueror works well), K3b (for CD writing, like Nero), Wine (to be able to run Windows applications in Linux, although I don’t use it often), various games, and various tools and drivers to support my USB devices (like a USB wireless adapter, Wacom graphic tablet, Sony Ericsson mobile phone, bluetooth USB adapter etc.). So, I can play, entertain myself, work, inform myself, communicate with others, use my devices with no problem.

 

Of course, you see, using Windows shapes your needs in using a computer so that, for performing an action you have names for the applications and the functions in mind. On one hand, Linux is not so different: it comes to meet the user experience that is beyond a certain operating system (MacOS and various other old operating systems were also the source for shaping the Windows user experience at the beginning). On the other hand, a different approach in the system architecture and a freedom to build and contribute to the software make a difference in the user experience, but, most of the times, this means that things are easier.

 

After a week or so from installing an operating system (if not immediately), users feel the need to personalize the system. In Linux, possibilities are endless: from windows looks and desktop additions to the boot screen and the choice for the desktop manager, you can change everything. So, I took my tablet, I drawn a quick and nice logo in Inkscape, imported it in GIMP and prepared various variants and sizes of images to decorate my boot screen, login manager and desktop. Next, I searched for a nice set of icons, a nice desktop theme and a nice set of cursors. Every time I need something, I just install it, and I rely on the installation packages provided by the distribution (you have the warranty that they work on your system and, in case of issues, you can find answers in the documentation or in forums). Beside, I can do automatic updates and, if a new version of an application I use is available, it will be installed automatically with all the other software it depends on.

 

Scape Laptop Screenshot

Scape Laptop Screenshot

 

Don’t take my pick on Gentoo as ultimate. It has its issues (installing a new program takes long time, some applications are not available etc.) but you can learn a lot from it. Previously I used Mandrake (now Mandriva) on another desktop computer and, at work, I installed CentOS on some servers (because it’s solid, secure and a continuation of the famed Red Hat). I try new distributions or new versions using virtual machines (Vmware, VirtualBox, QEMU) almost daily and I use specialized live CDs to explore or repair other computers (Knoppix, DSL etc.).

 

At last, you can see that I needed so little from Linux, but it gave me so much and now I use it daily. I still use Windows because people I work with use it and because I don’t have the time to migrate entirely on Linux. But in the future I consider replacing Windows with Linux.

 

For you who still depend on “the most popular” commercial operating system, you may try those sites:

http://www.distrowatch.com/ DistroWatch provides a list of Linux and BSD distributions and it’s a good start to choose something to try

http://alternativeto.net/ AlternativeTo provides a list of applications with their alternatives and it’s a good start to choose open source alternatives to the applications you use

 

 

 

For reference, the systems configurations:

 

Server:

Main board: DiamondFlower G686IPB with Intel 440FX chipset

Onboard connectors: PC keyboard, PS/2 mouse, 1 parallel port, 2 serial ports, 2 USB ports, 2 IDE connectors, 4 PCI slots, 4 ISA slots

Processor: Pentium Pro at 200 MHz, 256 KB cache (BP80503200)

Memory: 4 x 16 MB EDO RAM

Video card: S3 Trio64V2/DX PCI card with 2 MB memory

Harddisk: Western Digital Caviar SE (WD400PB-00EPA0) 40 Gb ATA 133 (uses ATA 66)

CD-ROM: TEAC CD-W552E 52x/16x CD Writer

Audio card: Yamaha OPL-SA2 on ISA slot

Network adapter: UMC 9008F 10 MB/s on ISA slot

Network adapter: Realtek 8139D 10/100 on PCI slot

Wireless adapter: Edimax EW-7128g using RaLink RT61 chipset on PCI slot

Power source: 175W 220V, AT type

Display: Compaq 1024 VGA Monitor (can do 800×600) 14 inch

 

Laptop:

Model: Compaq Evo N1005v

Main board: Compaq Evo N1005v with ATI IGP 320M chipset

Processor: AMD Athlon XP 1800+ at 1533 MHz, 256 KB cache

Memory: 2 x 256 MB SO-DIMM

Video card: ATI Radeon Mobility U1

Harddisk: Toshiba MK3018GAP 30 GB

CD-ROM: Toshiba SD-R2312 24x/10x/8x CD Writer / DVD ROM Combo

Audio controller: ALi M5451 AC-Link

PCMCIA controller: Texas Instruments PCI1410

Network controller: Realtek RTL-8139 10/100

Modem: Conexant HSF 56k

Display: Compaq SVGA LCD 15 inch

 

Also for reference, I work as a self-employed web developer, also performing computer maintenance and network configuration for clients. My first computer was a Sinclair clone (HC-91) bought in 1992.

 

 

Disclaimer: Windows and other software names are trademarks copyrighted by Microsoft. Other software and hardware names may be trademarks copyrighted by their producers. Linux and its applications are open source. The official name is GNU Linux

Advertisements