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:
- 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)
- Get Java (Note to future: If Oracle has released a newer version, you should use that instead)
- Extract the archive (tar -xf [archiveName]) (Note: Oracle’s being dumb – they wanted .tgz, not .gz)
- Copy the archive somewhere. People seem to like /opt, so I moved mine there
- change to superuser
su
(note: if you haven’t set a root password yet, do so withsudo passwd
- add java to your path. For me, this was
export PATH=$PATH:/opt/jdk1.8.0/bin
- Download crashplan and extract it
- 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"
toOKJAVA="1.5 1.6 1.7 1.8"
exit
(leave root and go back to your user)- Download the patched libjtux and md5 library. Extract as necessary and copy the .so files to /usr/local/crashplan/
sudo apt-get install libjna-java
- 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. - Autostart the crashplan engine. Edit /etc/rc.local with your favorite editor, and add
/usr/local/crashplan/bin/CrashPlanEngine start
on the line aboveexit 0
. - 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!
Pingback: Crashplan backup to my Raspberry Pi | Chex
Pingback: Creating a personal file synching service with OwnCloud and Crash Plan | Dude! My Dad's a geek!
Pingback: Headless Crashplan en Cubietruck (Cubian) « imanzano.es
Pingback: Raspberry Pi Home Server: Part 10, CrashPlan | MelGrubb.ToBlog()
Pingback: Raspberry Pi Home Server: Part 10, CrashPlan | MelGrubb.ToBlog()
Pingback: Crashplan backup server on the pi – Dave Gernon's Tech Blog
Pingback: CrashPlan on an ODROID C2 – Life: Travel, Software, Adventure