Skip to content
This repository has been archived by the owner on Mar 17, 2018. It is now read-only.

Install on Synology NAS

Meffect edited this page Aug 14, 2017 · 30 revisions

Introduction

ARM & intel based devices are supported. DSM version must be 3.2 or higher. Use armv5 installer for Marvell Kirkwood mv6282 cpu, you can use armv7 installer for newer ARM cpu's. Although armv7 repo was compiled with cortex-a9 optimization it was successfully tested on Marvell Armada XP based NAS.

Deploying Entware-ng

1. Create a folder on your hdd (outside rootfs)

mkdir -p /volume1/@entware-ng/opt

Make sure that /opt folder is empty (Optware is not installed), we will remove /opt folder with its contents at this step.

2. Remove /opt and create a symlink

rm -rf /opt
ln -sf /volume1/@entware-ng/opt /opt

3. Run install script

  • for armv5
wget -O - http://pkg.entware.net/binaries/armv5/installer/entware_install.sh | /bin/sh
  • for armv7
wget -O - http://pkg.entware.net/binaries/armv7/installer/entware_install.sh | /bin/sh
  • for x86-32
wget -O - http://pkg.entware.net/binaries/x86-32/installer/entware_install.sh | /bin/sh
  • for x86-64
wget -O - http://pkg.entware.net/binaries/x86-64/installer/entware_install.sh | /bin/sh
  • for MIPS
wget -O - http://pkg.entware.net/binaries/mipsel/installer/installer.sh | /bin/sh

4. Edit /etc/rc.local file with a text editor and insert following strings

/bin/ln -sf /volume1/@entware-ng/opt /opt
/opt/etc/init.d/rc.unslung start

at the end of this file, but before 'exit 0'. The last line ensures that Entware services will be started at boot.

Note: As of DSM 6.0, /etc/rc.local is no longer executed as part of the boot process (see this thread). Instead you have two options.

(1) Documented in the Synology DSM6.0 3rd-Party Package Developer Guide, custom startup scripts should be placed in /usr/local/etc/rc.d (alt image capture).

Example: $>sudo vi /usr/local/etc/rc.d/entware-startup.sh

entware-startup.sh

#!/bin/sh

case $1 in
    start)
    mkdir -p /opt
    mount -o bind /volume1/@entware-ng/opt /opt
    /opt/etc/init.d/rc.unslung start
    ;;
    stop)
    ;;
esac

(2) Alternatively, make an executable script and use the Task Scheduler to create a triggered task that runs on boot. The script would contain:

#!/bin/sh

mkdir -p /opt
mount -o bind /volume1/@entware-ng/opt /opt
/opt/etc/init.d/rc.unslung start

5. Add the following line in the end of /root/.profile file

. /opt/etc/profile

It will add /opt/bin and /opt/sbin to the PATH variable for interactive login.

Remark! According to https://github.com/Entware-ng/Entware-ng/issues/353 in DSM 6.0 /etc/profile should be modified.

6. Reboot your NAS.

Tips

You can use mount -o bind instead of creating symlinks. In this case execute the following commands on step 2:

mkdir -p /opt
mount -o bind /volume1/@entware-ng/opt /opt

and insert the following lines to /etc/rc.local or your scheduled task from step 4:

mkdir -p /opt
mount -o bind /volume1/@entware-ng/opt /opt
/opt/etc/init.d/rc.unslung start

Firmware update erases /opt folder. You should deploy Entware-ng outside of rootfs and create symlink to /opt or use mount -o bind. After firmware update you may need to edit /etc/rc.local and /root/.profile files once more.