Raspberry Pi + Crashplan

There are lots of posts about java, and quite a few on Crashplan on embedded systems. But even despite people’s efforts to aggregate all the little information, I just lost a weekend to this project. If you’re frustrated by the “backup disabled — not available” error, you’ve come to the right place.

This guy is really close – and it’s easily the only complete guide to crashplan on raspberry pi that actually works (until now). However, it uses openjdk, which, if you won’t trust my experience, these benchmarks show is PAINFULLY slow. Surely we can do better.

So, let’s try Oracle’s Java. To save time, we’ll jump forward to the Java 8 preview which has hardware floating point support (also hard-float or hard abi). So, step by step, with generous acknowledgments to Jon Rogers:

  1. Set up the Raspberry Pi. You want the hard-float OS unless you like an older version of java for some reason (and in that case, see Rogers for the correct libjtux.so)
  2. Get Java (Note to future: If Oracle has released a newer version, you should use that instead)
  3. Extract the archive (tar -xf [archiveName]) (Note: Oracle’s being dumb – they wanted .tgz, not .gz)
  4. Copy the archive somewhere. People seem to like /opt, so I moved mine there
  5. change to superuser su (note: if you haven’t set a root password yet, do so with sudo passwd
  6. add java to your path. For me, this was export PATH=$PATH:/opt/jdk1.8.0/bin
  7. Download crashplan and extract it
  8. Run the crashplan installer (Crashplan-install/install.sh). I’ll assume that you installed to the default /usr/local/crashplan/. If you get an error “The current version of Java (1.8) is incompatible with CrashPlan”, edit install.sh and change OKJAVA="1.5 1.6 1.7" to OKJAVA="1.5 1.6 1.7 1.8"
  9. exit (leave root and go back to your user)
  10. Download the patched libjtux and md5 library. Extract as necessary and copy the .so files to /usr/local/crashplan/
  11. sudo apt-get install libjna-java
  12. edit /usr/local/crashplan/bin/CrashPlanEngine and find the line that begins with FULL_CP=
    (its around the start case)
    add /usr/share/java/jna.jar: to the begining of the string. Thanks to Torbj√∂rn – this gem too me forever to find. This fixes the cryptic “backup disabled — not available” error.
  13. Autostart the crashplan engine. Edit /etc/rc.local with your favorite editor, and add /usr/local/crashplan/bin/CrashPlanEngine start on the line above exit 0.
  14. restart (sudo shutdown -r now)

If everything worked, “/usr/local/crashplan/bin/CrashPlanEngine status” should show running, and you should be able to connect via crashplan’s headless client guide. Finally :)

UPDATE:
You should take a look at Brad Peterson’s comment below when you inevitably run into periodic crashes from insufficient memory. Thanks for the tip!

About Bion

I'm a software developer at Modo Payments, a mobile payment provider. When I'm not hacking away the office, you I'm usually at home hacking on something else. Or practicing Aikido. Anyway, I just post things here that Google couldn't help me with, so maybe it'll help you in the future. Since you're reading this, I guess it worked :)
This entry was posted in Technology. Bookmark the permalink.

49 Responses to Raspberry Pi + Crashplan

  1. Pingback: Crashplan backup to my Raspberry Pi | Chex

  2. Pingback: Creating a personal file synching service with OwnCloud and Crash Plan | Dude! My Dad's a geek!

  3. Pingback: Headless Crashplan en Cubietruck (Cubian) « imanzano.es

  4. Pingback: Raspberry Pi Home Server: Part 10, CrashPlan | MelGrubb.ToBlog()

  5. Pingback: Raspberry Pi Home Server: Part 10, CrashPlan | MelGrubb.ToBlog()

  6. Pingback: Crashplan backup server on the pi – Dave Gernon's Tech Blog

  7. Pingback: CrashPlan on an ODROID C2 – Life: Travel, Software, Adventure

Leave a Reply

Your email address will not be published. Required fields are marked *