Jan 10

Fun with Debian on a SheevaPlug

I’ve had a SheevaPlug “Dev Kit” since April, 2010. I ordered it along with the GuruPlug Server and Server Plus Heaters (not ready for prime time, unless you’re cooking steak). I hadn’t had a compelling use for it, so other than playing with it the first week, it sat idle.

OK, really, that’s not true. The truth is, I was trying to create a working ARM “Stage 4” port of Gentoo for it with Gentoo’s nifty crossdev suite and qemu-user. I think I’ve done it, but I could never just get it together to install the resulting software bundle on the SheevePlug, boot it, customize it further, and put it into heavy service. I always had in the back of my mind questions about how I’d maintain this host with Gentoo. It was hard enough to maintain well-supported x86 servers with Gentoo, let alone an even more complex, time consuming and human-error prone build. Each time I sat down to work on it, I’d get totally sidetracked in Gentoo-land (update packages, trim filesystem fat, etc.), and forget what purpose I was really aiming to put the SheevaPlug to work for, other than taking up space. I learn (and retain) a ton when I use Gentoo, including the intricacies of qemu, gcc, embedded systems software design, cross-compiling and such. But this was not the right place or time.

Within the last 6 months or so, my primary home Network service server (LAMP, SILCd, Asterisk, hosting ticketing, resume, blogs, Drupal webapps, etc.) started showing some signs of old age. It’s a Shuttle SN41G2V2, bought in 2004. It has worked really well over the years, and its twin, my MythTV/Cacti/Nagios box, is still chugging. 2004 Vintage Computing! I had started to see full system freezes more and more over the last several months. I can deal with the web sites being offline for a bit until I powercycle it, but it is also serving Asterisk, and losing phones isn’t so great (I remember Ma Bell. We reboot phones, now, too.).

I couldn’t wait any longer to begin moving services to a low-power platform. But, instead of getting Gentoo to finally run on my plug, I decided to try out Debian. Debian is known for providing well tested and predictable binary packages, and that’s what I needed for this task. I followed Martin Michlmayr’s excellent guide at http://www.cyrius.com/debian/kirkwood/sheevaplug/ . On my Plug, Debian Squeeze boots from a 8GB USB stick and I’ve done some tweaks to reduce writes to the USB stick to very low levels. (I don’t touch the internal SheevaPlug flash.) I copied over daemon configs from my Gentoo server, and only had to make minor adjustments. I have the SheevaPlug plugged into my APC BackUPS 1500, so hopefully it will help extend its lifespan.

It’s pretty sweet! Now, I need to set up Duplicity for secure automated off-site backups with GPG. I also need to purchase another SheevaPlug or other armv5tel device so I can have a backup in case the Sheeva’s power supply fails (which seems common), and do some fancier things like MySQL replication, maybe even try some DRBD/HAproxy/Heartbeat kind of fun. After I let it settle in, I’ll start tasking out the Drupal/Wordpress move. Hopefully I can keep MySQL and syslog file flash writes low. We’ll see.

Leave a Reply

Your email address will not be published.