A few years ago I heard about the Fit-PC. It was a computer that was the size of a stack of two or three CD jewel cases running Ubuntu. This was pretty cool, but, most importantly, it only used 15 watts of electricity when under highest load. At first I entertained using it to replace Danielle’s computer to save space in the crowded office we had in the apartment. But the fact that the computer couldn’t easily be upgraded put the kabosh on that. Eventually I turned my attention to replacing our file and print server with one of these. There was just one problem, they cost somewhere in the $300 range so they don’t really pay themselves off quickly enough in electricity saved.
Sometime last year I heard (I think in Linux Format Magazine) about the SheevaPlug computer. It was a development kit put out by Marvell (which makes lots of computer stuff – mostly chips) running on an ARM chip. ARM is a different type of CPU than what Intel/AMD make and is mostly used in cell phones, tablets, and other hardware that needs to be high-powered and with low energy usage. I’m not sure why they’re able to achieve this while Intel/AMD can’t, but basically it means you need specially compiled software – since software has to be compiled for the chips it’ll run on. Thus Linux to the rescue! Most of these devices from your Nook to your Android to your Kindle tend to run a customized version of Linux. Since it’s free to copy and modify, you can make it compile for any type of chip. (This is why Microsoft is scrambling to get Windows 8 to run on ARM) Anyway, the SheevaPlug only uses 5 watts of electricity!
At first I didn’t want to buy a SheevaPlug because, as a dev kit, it doesn’t exactly have the most friendly interfaces. (Weird, non-standard USB interface, etc) But a bunch of other manufacturers have taken the SheevaPlug and built their own devices around around it. I ended up going with the PogoPlug from Cloud Engines. It has a nicer looking form factor and includes a bunch of regular USB 2.0 ports. Most importantly, it only costs ~$50. I calculated that I’d be saving AT LEAST ~$96 in electricity costs (and as much as THREE TIMES as much!) so it’d pay itself off within six months. The other great thing about the PogoPlug over some of the other SheevaPlug conversions is that it has no moving parts. The file/print server is a VERY old computer and is the loudest thing in the office. When I turn it off because I’m going on vacation, you can hear the silence and realize just how loud it was. So, I can’t wait to replace it just for that factor.
Now, the PogoPlug is meant to be used to essentially create your own dropbox. That’s pretty cool, but I don’t care. I just wanted a cheap computer with low wattage. Unlike Microsoft or Sony with their consoles, Cloud Engines doesn’t care that people buy the computer to hack on because they still sold you a computer. So I decided to use it to run PlugboxLinux (a variant of ArchLinux) on a 16 GB memory stick I also bought to serve as the hard drive.
The PogoPlug arrived before the memory stick, so I just decided to plug it in to make sure it wasn’t DOA. I first plugged it into a switch hanging off my router. Then I plugged it into the wall. The little light in front started wildly blinking green. Then it settled into a solid green. Since I manually assign all the IPs on my network, I know that IPs in a certain range are “guests” on the network. This allowed me to quickly figure out which device was the Pogoplug. I SSH’d in with the default password and ended up at a bash prompt. (Note, I’m told that once you access the device’s web page, SSH becomes disabled unless you re-enable it – so for simplicity’s sake – don’t bring up the web interface if you’re just going to hack the device)
-bash-3.2# uname -a
Linux Pogoplug 18.104.22.168 #44 Mon Aug 10 12:57:36 PDT 2009 armv5tejl unknown
As soon as my USB stick arrives I’ll be replacing my old, loud printer server, luigi with babyluigi. I’m going to be using http://plugapps.com/index.php5?title=PlugApps:Pogoplug_Setboot to install PlugboxLinux on a USB stick connected to the device. I’ll follow those instructions and only note any deviations here. The best thing about their instructions is that it installs a new bootloader that still lets you use the device the old way if you ever want to.
The USB stick arrives the next day and I install the OS. Success!
[root@Plugbox ~]# uname -a
Linux Plugbox 2.6.36 #1 PREEMPT Thu Dec 2 02:36:31 CST 2010 armv5tel Feroceon 88FR131 rev 1 (v5l) Marvell SheevaPlug Reference Board GNU/Linux
I get to setting up samba, nfs, and a static IP address. Using the archwiki, this was a breeze. They have the best Linux wiki I’ve ever read. Confirmed my Linux and Windows boxes could see the shares. Awesome! All that’s left is setting up the printer!
To get my printer to work with the version of cups used in ArchLinux, I had to tell it not to load the usblp module. Basically, in /etc/rc.conf, under MODULES you have to put !usblp. There was some other version of cups that apparently works well, but it required a newer library of libcups than was in the Pogobox repository.
Overall it was a piece of cake! This is the kind of hardware hacking that anyone can do. Right now the only annoyance I’m having is that even though I setup the hostname to babyluigi, I’m getting the system reporting itself to other systems as Plug.box or something like that. And on Super Mario, my Fedora setup running KDE 4.5, both the CUPS printer and the SAMBA share of that printer show up in my printer list. I had a look at Arch Linux almost exactly a year ago and I had a bit of a hard time getting started, but otherwise found it a good setup. Plugbox Linux is almost infinitely easy to get started as well as setup. Definitely puts Arch in a good light.
It’s now so quiet in the office that I keep thinking the power went out or something. It’s freaky.