This project started out as a search for a cheap PC. Work & travel demands a good laptop which lives in my briefcase, but I wanted something for email, web browsing, basic multimedia etc. without having to boot up the laptop each time. The cost of even a simple desk top PC was several times what I had in mind, so I set about building a minimal PC at the target price of £100, although I was planning to scrounge or re-use some peripherals. It had to be small, quiet, reliable, and just work - as messing around with drivers, software, configurations and the like is not my idea of fun!
I wanted something small. It didn't need to be very powerful, I don't do fancy graphics or multiplayer games, or host a multitude of websites; as long as it responds at the speed I can type & read, it would be OK. The EPIA 5000 is in the mini-ITX form factor & is very small. It's been around for several years so is proven, and at £45, is my idea of PC pricing. With a 533MHz processor, it certainly isn't quick anymore, but it should do for what I want. It's also fanless, which raised the interesting possibility of having a completely silent machine and save money by eliminating a hard drive. With another £20 for a 256Mbyte DIMM, the budget wouldn't allow any more, but it should do.
The case is a Morex 3688, selected as it was on offer at £42. It has a silent external power supply, space for a hard drive which I don't use, and one slimline optical drive bay for a Sony CD-RW which at £22, was the last purchase for the PC, bringing the total to £129.
The monitor, mouse & keyboard were office throwaways from earlier systems, as were the cheap speakers - no need to buy anything new here.
The operating system was to be Linux. I had no experience with it other than playing around with a couple of LiveCDs, but it's free, runs easily on simple hardware, and has all the day to day software needed. My final choice was Puppy Linux 2.02 by Barry Kauler.
Fanless 533MHz VIA Processor
Two DIMM memory slots, 2 USB ports. Sound & video all included on the one card.
Mini-ITX. Silent external power supply. 1 slimline optical drive bay. 1 2.5" hard drive bay (not used).
Run as multisession. System boots from CD, and saves everything back to the same CD. Current version at www.puppylinux.org
NEC LCD 14" monitor, Logitech PS2 mouse & keyboard.
D-Link DWL-900AP+ Wireless Access Point
I'd never built a PC before, but it's really no more than bolting the motherboard into the case, adding the CD drive, connecting up a few cables, and then putting the cover back on. On power up, the VIA logo display appeared on the monitor so it appeared to work. I set the BIOS to boot first from CD, then USB, finally a hard drive (if I ever fit one).
Some version of Linux was the obvious choice. My plan was to boot from a LiveCD & then save any files back to a USB memory key. Knoppix is the best known Linux LiveCD & I was pleasantly surprised to find version 5.0 booted and ran quite well on my machine. But of course, given the memory & processor speed, it was quite slow & the CD drive spent much time whirring away on my supposedly silent system.
DSL was my first serious choice. It's very small, but very capable, so I was very disappointed when it didn't boot on my new PC. Nothing wrong with the disc, it booted OK from the laptop. In the end, I had to use the syslinux variant of the iso to get it to boot. I still don't know why, but suspect it's the BIOS in the VIA motherboard. I also did a USB memory stick install of DSL, which was very simple and effective, once I realised I had to use the USB-ZIP option, as again, the BIOS doesn't support the much more useful USB-HDD boot option. I've used DSL for several months and it does almost everything I need; I like the minimalist approach although I found I was starting to download more sophisticated software than allowed by the self-imposed 50MByte limit of DSL. I also managed to completely loose everything on a couple of occasions by saving a mess back to the USB key which then proved unrecoverable on the next boot. Not an OS problem, but definitely highlighted the need for a backup process.
I found Puppy Linux when it was at version 1.09. I'd never heard of it before, but it caught my attention when I read the system and session could be booted from a LiveCD and, much more interestingly, be saved back to the same CD. Now I didn't even need a USB memory stick. It's the multisession feature of the CD-R that allows it; it doesn't even need to be a CD-RW disc (although it can be), as the current session is simply saved as a new file and track number. With 700MB and 99 tracks available per CD, it takes a while before the disc is full. When it is, the OS prompts for a new disc. And the old one - remember that back-up problem?! The CD effectively becomes a removable hard drive. Puppy passed a few other key tests for me: it booted up without any trouble, the video worked, the sound worked, the Internet connection worked. Note I say 'worked', not 'I was able to get it working'.
Linux tends to expect a certain knowledge level or at least a keen willingness to learn the system. Windows assumes a large degree of stupidity - this is one of its strong points. For Linux writers and developers, please note: 'works' means: no need to open a root window, no use of console mode, no compiling required, no modprobing etc. etc. A simple wizard is acceptable. Puppy Linux excels here. Puppy is about 70MB and is small enough to run very happily on a simple system, but still has useful-featured software included, and in my mind is a significant improvement over DSL in this respect.
I think the single most frustrating part of Linux is the inability for it to work with very standard wireless devices. My plan was to use a USB D-Link wireless device; I could never get it working under Linux. I cannot get the Centrino wireless in my laptop to work under any Linux distribution. The problem is lack of support for drivers from the manufacturers, but it has to be solved if Linux is to be mainstream - it must work out of the box. Linux experts tend to be dismissive of this - they have no trouble, so just figure it out yourself - it's part of the Linux experience! But a quick glance through the many support forums will show a daily tirade of newcomers asking for help with wireless problems.
I have to use wireless; my broadband connection is elsewhere in the house, I'm not running cables all over the place just so I can use Linux. The solution was an old D-Link wireless access point which connects via an ethernet cable to the PC LAN port. Configured as a wireless client, Linux sees it as a direct Internet connection and the wireless settings can be configured at the access point via a web browser interface. They fell out of fashion several years ago with the advent of built-in wireless on most PCs, but it's a cheap and easy solution if, like me, you are unable to make wireless work under Linux. The access point can be seen in the PC photo above. It was also an office throwaway and is only slightly smaller than the PC!
The end result is a simple, effective PC. Web browsing is via SeaMonkey, very similar to Firefox. I make much use of Google email and web services, even file storage - you're reading this created on the PC above with Puppy Linux, SeaMonkey and Google Page Creator. The processing power is moving to the Internet, the PC becomes a simple access client.
Ian Greenshields. August 2006