Install CrashPlan on a Lenovo IX4-300D NAS

Please keep in mind: this tutorial is under construction (thus incomplete)…

CrashPlan is software that can make local, offsite and online backups (SaaS). It runs on Windows, Mac OS X and Linux. What I like about it is that I can simply backup important files like photos to a friend who lives at the other side of the country. In case my house burns down together with my local backup, my files can still be restored.

CrashPlan is comprised of two components: a CrashPlan service (the actual backup engine) and a CrashPlan app (graphical configuration front-end). Running a headless client (i.e. running the CrashPlan service on a machine without the graphical environment) is unsupported by CrashPlan but possible.

Well know NAS devices from Synolgy, QNAP and Thecus are community supported with easy to install plugins or apps. I have a Lenovo IX4-300D: a very nice and simple NAS but with a lot less support (there are only a few apps). But … it is running a modified Linux OS. By combining different sources on the internet I managed to install the CrashPlan service on my NAS device and configure it with the graphical user interface on my computer.

Use the following at your own risk! Modifying the NAS file system probably voids your warranty!

In this guide:

  1. Enable SSH access
  2. Install Optware ipkg
  3. Install Oracle Java
  4. Install CrashPlan
  5. Get it to work
  6. Configure CrashPlan service
  7. Connecting to the service
  8. Updating Lenovo firmware

I did this on a Lenovo IX4-300D with firmware 4.1.102.29716. It kept working when the IX4 updated to firmware 4.1.104.31360 so installing from scratch on a newer firmware will probably work fine.

Install location: I installed everything in /opt/.

1. Enable SSH access

SSH on this and comparable Lenovo devices is already installed but not enabled by default. There is a ‘hidden’ menu in the webinterface to enable SSH access. Go to

http://<your-nas-ip>/manage/diagnostics.html

and enable remote access and set a password (for example the same password as the web interface).

lenovo_ssh_access

On older (Iomega) firmware use http://<your-nas-ip>/diagnostics.htm or try http://<your-nas-ip>/support.html

The SSH service is now running. Login to your NAS with a SSH client with:
Username: root
Password: soho+root password (if your root password is qwerty then the password is sohoqwerty).

PuTTY

PuTTY is my preferred free SSH client for Windows. You can download it here.

WinSCP

WinSCP is my preferred free SFTP client for Windows. You can download it here.

2. Install Optware IPKG

Note: after running CrashPlan for a while and reviewing this install guide, I don’t now if it’s really necessary to install Optware IPKG to get things working.

Optware IPKG is a package manager for distribution of additional software packages to Linux-based (small) computer systems like a NAS. IPKG is already installed on the IX4-300D, we only need to add repositories which allows us to install packages.

Start a SSH session to the IX4. We are going to install ipkg in the (not yet existing) folder /opt which is automatically placed in /mnt/system where there is around 15 GB of free space. Execute the following commands:
Set variables:

# feed=http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable
# ipk_name=$(wget -qO- $feed/Packages | awk '/^Filename: ipkg-opt/ {print $2}')

You can use the stable release by changing the link to http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/ but unstable should work fine.

Download installation package:

# wget $feed/$ipk_name

Extract ipkg data file:

# tar -xOvzf $ipk_name ./data.tar.gz | tar -C / -xzvf -

Configure:

# mkdir -p /opt/etc/ipkg
# echo "src cross http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable" >> /opt/etc/ipkg/armel-feed.conf
# echo "src native http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable" >> /opt/etc/ipkg/armel-feed.conf

Clean up installation package:

# rm ipkg*.ipk

How to use IPKG?

These are some basic commands for using IPKG.

Update available packages: # /opt/bin/ipkg update

After the update you can find two lists in /opt/lib/ipkg/lists/

List available applications on the repository: # /opt/bin/ipkg list | more

List installed applications: # /opt/bin/ipkg list_installed

Install an application: # /opt/bin/ipkg install <application name>

Remove an application: # /opt/bin/ipkg remove <application name>

For the installation of Java and CrashPlan, we don’t use any applications from IPKG. But maybe you want to install some handy tools like nano or Midnight Commander.

3. Install Oracle Java

Download Java from the Oracle website: http://www.oracle.com/technetwork/java/embedded/downloads/javase/index.html
Under Java SE for Embedded 7 download the ejre corresponding to ARMv5 Linux - Headless EABI, SoftFP ABI, Little Endian3. At the time of writing this was ejre-7u60-fcs-b19-linux-arm-sflt-headless-07_may_2014.tar.gz

Copy this file to /opt (for example using WinSCP). Then execute the following commands:

Extract Java:

# cd /opt
# tar -xvf ejre-7u60-fcs-b19-linux-arm-sflt-headless-07_may_2014.tar.gz

Remove installation file:

# rm ejre-7u60-fcs-b19-linux-arm-sflt-headless-07_may_2014.tar.gz

Add Java to the PATH variable:

# PATH=$PATH:/opt/ejre1.7.0_60/bin
# export PATH

Check if Java is working:

# java -version
java version "1.7.0_60"
Java(TM) SE Embedded Runtime Environment (build 1.7.0_60-b19, headless)
Java HotSpot(TM) Embedded Client VM (build 24.60-b09, mixed mode)

4. Install CrashPlan

Download CrashPlan for Linux from http://www.code42.com/crashplan/download/ to /opt (using wget or WinSCP). At the time of writing this was CrashPlan_3.6.3_Linux.tgz Create a share (via the Lenovo NAS webinterface) where to store the backups. I called it crashplan. The path to this directory is /mnt/pools/A/A0/crashplan

Extract Crashplan and remove package:

# cd /opt
# tar -xvf CrashPlan_3.6.3_Linux.tgz
# rm CrashPlan_3.6.3_Linux.tgz

Start CrashPlan installation script:

Leave the default setting (press enter) for all the questions except:
What directory do you wish to install CrashPlan to?
What directory do you wish to store backups in?

# cd CrashPlan-install/
# ./install.sh

Pay attention: install to a subfolder in /opt and choose the right backup directory

[...some snipping...]
 What directory do you wish to install CrashPlan to? /opt/crashplan_3.6.3
 /opt/crashplan_3.6.3 does not exist.  Create /opt/crashplan_3.6.3? (y/n) [y]
 What directory do you wish to link the CrashPlan executable to? [/usr/local/bin]
 What directory do you wish to store backups in? /mnt/pools/A/A0/crashplan
 What directory contains your SYSV init scripts? [/etc/init.d]
 What directory contains your runlevel init links? [/etc/rc2.d]
 Your selections:
 CrashPlan will install to: /opt/crashplan_3.6.3
 And put links to binaries in: /usr/local/bin
 And store datas in: /mnt/pools/A/A0/crashplan
 Your init.d dir is: /etc/init.d
 Your current runlevel directory is: /etc/rc2.d
 Is this correct? (y/n) [y]
 Unpacking /./CrashPlan_3.6.3.cpi ...
 [...]
 Installation is complete. Thank you for installing CrashPlan for Linux.

 

 

8. Updating Lenovo firmware

After updating the IX4 firmware and restarting the CrashPlan engine, CrashPlan assigns your NAS with a new computer identity and GUID. The  GUID identifies the NAS to the CrashPlan servers and other backup destinations. The identity contains information about settings, history, subscriptions and your file selection.The identity is stored locally in /var/lib/crashplan/.identity

You can (and want to) avoid a new initial backup by reconnecting to the existing backup archive. CrashPlan calls this ‘adoption’.

More information about how identities work can be found here. CrashPlan information about adopting can be found here.

In short, you need to:

  • Start the Crashplan Client
  • Log in with your CrashPlan username and password
  • Click the ‘adopt’ link in the Continue Backup message
  • Select the computer (your ‘previous NAS’) you want to adopt and press ok
  • CrashPlan starts a scan to compare the contents of your file selection against the existing backup archive. This may look like the backup is starting over, but Crashplan only back up what has changed.

 

To do:

  • After a restart of the NAS, you need to set the Java PATH again and start CrashPlan manual. There is a workaround… <work in progress>
  • move cache and log files to another location

 

Sources:

http://vincesoft.blogspot.nl

http://stevenbreuls.com/

 

3 thoughts on “Install CrashPlan on a Lenovo IX4-300D NAS

    1. GJ Post author

      Yes I did, it is working right now. I did not have the time to write the complete manual, I hope I can do it this weekend…