Assorted color lego blocks

Using Entware on Synology NAS

What is Entware?

Entware is a software repository for embedded devices like routers or network attached storages. It is a modern alternative to Optware and was originally designed for use on OpenWRT but has been adapted for use on other distributions.

Why use Entware?

On a Synology NAS you can use so-called Synology add-on packages or Docker to run applications. Just like the Entware packages itself. So why should you use Entware?

  • It will allow you to install over 2500+ packages many of which are not available as a Synology add-on package.
  • In some cases it is a more lightweight and convenient alternative to Docker. You can use it for example to install the easy to use Nano editor that we will use as an example later on.
  • Synology announced the end-of-life for a lot of Synology packages. That could also be a reason to take a look at Entware.

Install Entware on Synology NAS

Entware can be installed on ARM and Intel based Synology NAS models.

You can also check the processor and architecture of your Synology NAS with the following script.

cat /proc/cpuinfo | grep "model name" | uniq uname -m
Code language: Markdown (markdown)

In the case of my Synology NAS model, the output shows an Intel(R) Celeron(R) CPU N3150 processor and x86_64 architecture.

Create the directories on your volume and mount the filesystem.

mkdir -p /volume1/@Entware/opt /opt mount -o bind /volume1/@Entware/opt /opt
Code language: Markdown (markdown)

Run install script depending on the architecture (see uname -m output).

For x64.

wget -O - | /bin/sh
Code language: Markdown (markdown)

For armv5.

wget -O - | /bin/sh
Code language: Markdown (markdown)

For armv7.

wget -O - | /bin/sh
Code language: Markdown (markdown)

For armv8 (aarch64).

wget -O - | /bin/sh
Code language: Markdown (markdown)

Create a triggered user-defined task in Task Scheduler.

  • DiskStation Manager > Control Panel > Task Scheduler
  • Create > Triggered Task > User Defined Script
    • General
      • Task: Entware
      • User: root
      • Event: Boot-up
      • Pretask: none
    • Task Settings
      • Run Command: (see bellow)
#!/bin/sh # Mount/Start Entware mkdir -p /opt mount -o bind "/volume1/@Entware/opt" /opt /opt/etc/init.d/rc.unslung start # Add Entware Profile in Global Profile if grep -qF '/opt/etc/profile' /etc/profile; then echo "Confirmed: Entware Profile in Global Profile" else echo "Adding: Entware Profile in Global Profile" cat >> /etc/profile <<"EOF" # Load Entware Profile . /opt/etc/profile EOF fi # Update Entware List /opt/bin/opkg update
Code language: Bash (bash)

Finally, reboot you Synology NAS.

For more information you can consult the Entware documentation.

Entware package management

Package management is done with opkg.

Run opkg without arguments to see the opkg commands that can be used.

Code language: Markdown (markdown)

You can for example install the Nano editor with the following command.

opkg install nano
Code language: Markdown (markdown)

Start the Nano editor.

Code language: Markdown (markdown)
Nano editor

Remove the Nano editor.

opkg remove nano
Code language: Markdown (markdown)

List available packages.

opkg list
Code language: Markdown (markdown)

List installed packages:

opkg list-installed
Code language: Markdown (markdown)

And something else you probably do not want to miss out on… 😀

opkg install vitetris
Code language: Markdown (markdown)

Start vitetris.

Code language: Markdown (markdown)
Tetris game

And much, much more for you to try.