Primitive and modern outdoor skills

Backpacking computer: first attempt

2012-08-25

Why a backpacking computer

This may seem a bit out of charactor... but secretly (or maybe not so secretly) Jess and I are currently software engineers by day.

While we were hiking the JMT we got to chatting and came up with the idea. As I thought about it the idea of a backpacking computer got more and more enticing, here's some uses we came up with:

Of course, there are some requirements. To be useful we'd want wifi so we can upload when in towns, some good IO for things like radios, a good keyboard for typing, a display you can see in the sun, and most importantly incredible battery life.

Lastly, I'm a computer nerd, it has to run Gnu/Linux, or to me it just isn't useful.

My initial idea was to build something from scratch with a black/white passive segment display (you know, old-school style). After poking around a lot and looking at what devices *do* exist, what's easy to build these days, etc. I eventually decided before getting to crazy I should just start with my "cellphone". That is my Samsung Nexus Galaxy Android phone (basically a tiny tablet). I actually carried it on our last trip anyway in case we needed to look stuff while trying to hitchhike home.

Here's what I got: P1020366

My cellphone is a gnu/linux box! (and still a cellphone).

How

First step was to unlock my phone and install CyanogenMOD. I simply followed the directions here: here . Cyanogen is just an open-source android, which I wanted anyway. It comes with a more feature-full Linux kernel and it's already rooted, both of which are needed for Gnu/Linux to work.

Next I tried a couple things, but the winner was the "The Android Complete Linux Installer" available on Google Play. This tells you how to set up a chroot environment, gives you a link to some system images, includes some nice scripts for starting things, and allows installation of Debian among other distros.

For some reason it installed Debian "Lenny", but whatever it's a starting place. Next step was to ssh in from my laptop (thus giving me a reasonable keyboard) remove a few bits of junk I don't want (dbus, xcfe, etc.) and upgrade the system to unstable. This took a bit of doing, I ran out of disk once, crashed the system a couple of times, a few freezes etc. Eventually it worked though and since I successfully upgraded everything's been stable.

The installer sets up a vnc server running xfce. It turned out just removing xfce and install fvwm was sufficient to swap the window manager. I prefer fvwm and it's plenty lightweight.

Next I did a bit more hacking to lock down root, switch to a modern sudo environment, install a proper vim, copy configs from my other machines for vim, bash, and generally set things up the way I like. And what I now have is a fully up to date proper debian install, with X support and all running on my phone. I simply vnc into it from the phone itself and I can swap to debian as a normal android app, no problem!

Note that before using debian you have to start it up, this is *good* because it means I won't burn any battery power when just carrying my phone around as... you know... a phone.

Future Work

I have a usb adapter on the way to see if I can get my old usb folding keyboard to work on the device. If not I can use bluetooth if I have to. I need a solar charger so I can keep the battery topped up while I'm out.

Once I have a basic computing device I can really use, I can try it in the backcountry.

If it all works out I may look into software controlled USB HAM radios so I can chat with people using hardly any power from the backwoods :P.

The Nook eink reader is android based and has already been rooted. I might be able to do the same thing to it and have a passive display eink reader that hardly burns any power at all, especially when being used for reference material. http://www.flickr.com/photos/smalladventures/sets/72157631243912642/