setaOffice

Unix Intelligence Gathering

How to install compiled programs on a Synology NAS

Posted by Emerson Takahashi on April 8, 2011

Synology is a hardware manufacturer of Network-attached storage (NAS) to SMB (Small to Medium Businesses) and SOHO (Small Office & Home Office) market. Their main competitors in the NAS market are: QNAP, Buffalo, Netgear, Drobo, ZyXel, Thecus, LaCie, Seagate and Western Digital.

I bought a Synology DiskStation DS211j and like many NAS on the market, it is a small computer powered by an ARM processor and runs the Linux operating system.

Since it runs Linux, you can install programs for Linux compiled for the ARM architecture. Read Synology’s disclaimer before proceeding

First you need to enable the terminal on your NAS. To enable it, follow the instructions below:

Go to Control Panel

Select Terminal

Check the box Enable SSH service and click on the OK button

After enabling the SSH service, you’ll need a terminal emulator. I use Putty. Login to your NAS as root and using your admin password to be presented to the command line.

login as: root
root@192.168.0.12′s password: type your admin password here and press Enter

BusyBox v1.16.1 (2011-03-24 02:15:54 CST) built-in shell (ash)
Enter ‘help’ for a list of built-in commands.

DiskStation>

You are presented to its shell (ash). You type the command and it will execute after you press Enter

DiskStation> uname -a
Linux DiskStation 2.6.32.12 #1605 Thu Mar 24 02:12:03 CST 2011 armv5tel GNU/Linux synology_88f6281_211j

To install the compiled programs, I’ll use a package manager called ipkg. To install we will get a bootstrap. A bootstrap is a script that installs ipkg.

Check what kind of CPU your NAS has. The programs are compiled to a specific CPU and won’t work if you don’t get the right script.

My Synology DS211j has a Marvell Kirkwood mv6281 1.2Ghz ARM Processor. Let’s go ahead and download a bootstrap that is known to work with this CPU. Download the script with wget following this table

DiskStation> cd /volume1/@tmp/
DiskStation> wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/syno-mvkw-bootstrap_1.2-7_arm.xsh
–19:58:04– http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/syno-mvkw-bootstrap_1.2-7_arm.xsh
=> `syno-mvkw-bootstrap_1.2-7_arm.xsh’
Resolving ipkg.nslu2-linux.org… 140.211.169.169
Connecting to ipkg.nslu2-linux.org|140.211.169.169|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 252,856 (247K) [text/plain]

100%[====================================>] 252,856 105.00K/s

19:58:08 (104.69 KB/s) – `syno-mvkw-bootstrap_1.2-7_arm.xsh’ saved [252856/252856]

Now we execute the script to install ipkg

DiskStation> sh syno-mvkw-bootstrap_1.2-7_arm.xsh
Optware Bootstrap for syno-mvkw.
Extracting archive… please wait
bootstrap/
bootstrap/bootstrap.sh
bootstrap/ipkg-opt.ipk
bootstrap/ipkg.sh
bootstrap/optware-bootstrap.ipk
bootstrap/wget.ipk
1232+1 records in
1232+1 records out
Creating temporary ipkg repository…
Installing optware-bootstrap package…
Unpacking optware-bootstrap.ipk…Done.
Configuring optware-bootstrap.ipk…Modifying /etc/rc.local
Done.
Installing ipkg…
Unpacking ipkg-opt.ipk…Done.
Configuring ipkg-opt.ipk…WARNING: can’t open config file: /usr/syno/ssl/openssl.cnf
Done.
Removing temporary ipkg repository…
Installing wget…
Installing wget (1.12-2) to root…
Configuring wget
Successfully terminated.
Creating /opt/etc/ipkg/cross-feed.conf…
Setup complete.

After the setup is complete, we delete the script and reboot the NAS

DiskStation> rm syno-mvkw-bootstrap_1.2-7_arm.xsh

DiskStation> reboot

Wait a few minutes to restart it (you will hear a beep) and login back again.

Update the list of programs that you can install by typing ipkg update

DiskStation> ipkg update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/Packages.gz
Inflating http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/Packages.gz
Updated list of available packages in /opt/lib/ipkg/lists/cross
Successfully terminated.

You can now install any program you wish typing ipkg install <package name>

Advertisement

4 Responses to “How to install compiled programs on a Synology NAS”

  1. [...] How to install compiled programs on a Synology NAS [...]

  2. [...] How to install compiled programs on a Synology NAS [...]

  3. I’ve ran all the above commands but when I run “sh syno-mvkw-bootstrap_1.2-7_arm.xsh” my result was:
    Synology> sh syno-mvkw-bootstrap_1.2-7_arm.xsh
    Optware Bootstrap for syno-mvkw.
    Extracting archive… please wait
    bootstrap/
    bootstrap/bootstrap.sh
    bootstrap/ipkg-opt.ipk
    bootstrap/ipkg.sh
    bootstrap/optware-bootstrap.ipk
    bootstrap/wget.ipk
    1232+1 records in
    1232+1 records out
    Backup your configuration settings, then type:
    rm -rf /volume1/@optware
    rm -rf /usr/lib/ipkg
    This will remove all existing optware packages.

    You must *reboot* and then restart the bootstrap script.

    BusyBox v1.16.1 (2011-06-29 11:49:19 CST) built-in shell (ash)
    Enter ‘help’ for a list of built-in commands.

    Reboot and tried ipkg install and nothing!!!! ash not found. Whats’s happen?

  4. sizroch said

    Very nice tutorial, professionally done.

    For anyone wanting to install Unison on the DS211J, here’s what worked for me:

    1. Download the Unison ipk file from here: http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable/unison_2.27.57-2_arm.ipk

    2. Copy the unison_2.27.57-2_arm.ipk file to a directory under /volume1 on your DS211J

    3. After installing ipkg using the great instructions above, install Unison on your DS211J with the following command
    Diskstation> ipkg install ./unison_2.27.57-2_arm.ipk

    If anyone finds a later version of the Unison ipk file, please post.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

 
Follow

Get every new post delivered to your Inbox.

Join 244 other followers