Sheevaplug - An ideal home server
15 Feb 2010The sheevaplug, a marvel development platform based on a 1.2GHz has risen out of obscurity in recent times as a silent, very low power computer. It's uses have been stretched way beyond the intended use into cars and even as a full on desktop computer, despite it's lack of connectivity.
The basic hardware consists of:
- Marvell Kirkwood 6281 CPU at 1.2 GHz with 256 KB L2 cache
- 512 MB RAM
- 512 MB flash
- Gigabit Ethernet
- 1x USB and 1x SD
- mini-USB with serial console and JTAG
The system is fanless and there are no moving parts, so it is silent apart from a strange extremely high pitched ringing sound which is on the edge of being audible.
In this post I’m going to describe what made me choose the sheevaplug, what I have added to default system and why I love the sheevaplug.
Requirements
For a while I’ve been looking around for a home server which I could leave running 24/7 acting as a general server. As it was to be placed in my bedroom it had to be silent as I have tried sleeping though many different computer noises from systems which claim to be silent without success. The system had to use as little electricity as possible if I’m going to leave it running constantly.
After a few months of um-ing and ah-ing I found the sheevaplug which completely filled all of these requirements - having no moving parts and using 2.8- 7W depending on load, significantly better than any x86 based system of comparable speed.
Default Setup
When the plug arrives it contains an installation of ubuntu 9.04, a strange choice as ubuntu have now discontinued support for the ARMv5 line of processors used by the sheevaplug so to be more up to date I felt a new distribution was required. The basic install of ubuntu almost fills the included 512MB SSD and therefore is a little impractical.
Current Setup
To get a more up to date system I decided to remove the provided ubuntu installation and installed Debian, following great instructions here. Debian testing supports the sheevaplug in its installer (but does not support the internal ssd) and is quite simple to get up and running, as long as a usb stick or sd card is used. My troubles started when I tried to use a 1.8 inch asus usb hard disk, to allow me to install a different operating system and store more data without having to worry about sd card wear. The bootloader used by the plug, uboot, does not correctly power up usb powered hard disks to allow them to be used for booting from, this meant I had to use an sd card for the /boot partition so that the boot loader could load the kernel then Debian would correctly load the rest of the system from the usb hard disk. This arrangement also removes any complications with usb hubs and booting which can occur. Not as simple as I’d hoped but easy enough none the less.
Current Uses
Having now achieved a fully working system Debian on the sheevaplug behaves much as any headless server does, except with a surprising turn of speed in comparison to similar machines such as the Viglen MPC-L.
I use the system fulfils a number of functions in my ecosystem:
- A staging server for my web development work - running Apache/MySQL/PHP/Python is quite a demanding task for a low power system like this, however the sheevaplug copes fine with low traffic with just PHP hogging slightly more RAM than I would like. Some users prefer lighttpd but I require a mirror of the system I run on my real web server.
- A MQTT server - running mosquitto, an open source MQTT broker. RSMB (Really Small Message Broker) provided by IBM is all well and good but it is not available for this architecture so my only choice was the open source broker mosquitto I'm currently using this system for monitoring with arduinos and reporting to pachube and intend to develop it further when I get time. This will no doubt feature in a subsequent blog post soon.
- An IRC client - I am somewhat obsessive about the IRC channels I frequent (#mqtt, #linuxoutlaws, #ubuntu-uk-podcast, #openplug, #shotofjaq, #ratholeradio) and like to be able to scroll back to see if I've missed anything so I run irssi and then can login via ssh from anywhere in the world to see!
- An ssh gateway to my network, this is the only computer which is directly facing the internet on my network and using dyndns I'm always able to keep in touch with my home network, this can be useful if I wish to use an ssh tunnel for web browsing on an unsecured wifi hotspot.