What I always wanted was a “joy machine”. That is, a system that would always be on, would act as a server and give me room for experiments. Of course, that system would be based on Linux. It just gives a lot more room for customization, hacking and experimentation.
The first thing that I thought of doing was to make a second desktop PC and just leave it always on. But, I needed this to be a “quiet” system. Event the humming of the cooling fans can become very frustrating when you are trying to sleep and even though I don’t really mind the noise, it is a cause of headaches over time. I had an old Pentium 2, 333 MHz processor and motherboard, a spare IDE hard-disk and 256 MB of RAM, so I decided to create a headless (that is without a monitor and keyboard) system based on that hardware. My initial plan was to set it up in some special protective casing on the balcony of my apartment, but I ended up using an empty firehouse casing and installing the system next to the apartment entrance at the stairs.
Rigging the case to house an old motherboard, two hard disks (one at first) and a power supply unit was trivial but very fun!
- What’s in there? A firehose? Noooo…
- My Joy Machine! casing open.
- Pentium 2, 333Mhz
- HDDs are screwed to the side walls of the casing.
- The PSU, power switch (made from light switch) and the other HDD (left to right).
- Some stats…
Inside this box is living a Debian system. Initially I installed Debian etch but I recently upgraded to lenny. Usage and administration is performed remotely through ssh. Apart from being a Linux enthusiast’s playground, the machine also serves as DNS server for my local LAN, NFS and Samba to serve files, MySQL/Apache/Python/Ruby/PHP for web development. Also, it contains several subversion repositories for my pet projects. The home directory is mounted on a LVM partition. That makes it a whole lot easier to expand the filesystem size in the future. It is also very useful for doing large downloads, e.g through bittorrent (using rtorrent) or rapidshare (shell script around, wget) with the help of the screen utility.
Even though the system is low spec it performs superbly. The memory usage is always topped and the swap is rarely touched. It even manages to stream 1080p video with ease. One time, after an experiment with LVM went wrong, I had to boot the system with an Ubuntu Live CD to do some restore work. I hooked the machine with a spare display, a keyboard, a mouse and a really old x2 CD-ROM drive. Booting to the live CD using a x2 drive and with a 333 MHz processor took a few minutes but the astonishing thing was that even though the system has only 256 MB of RAM, it actually managed to load Gnome and also open various applications like Firefox! Too bad I didn’t make a screenshot of it.
All in all, playing with the system is most fun, it really is a “Joy-Machine”!. It is also a perfect example of how old, low-spec hardware can be put to use with Linux (one could of course use some other open source OS like FreeBSD or OpenBSD). You wouldn’t be able to setup a system like this with a Microsoft Windows Server. Compared to M$ Windows, Linux is usable on a broader spectrum of hardware.





