Entware-ng is created as replacement for the outdated and unsupported optware. Is is based on OpenWRT
. For us this means that all packages for OpenWRT are also available on Entware-ng, with exception of the kernel modules.
More information on the Entware-ng site
.Installation on a Lenovo/Iomega nas
To install Entware-ng you need ssh root access. Depending on your firmware version that has to be done in different ways:Old firmware:
Go to https://
<ip-of-nas>/manage.html and login as admin
Then go to https://
<ip-of-nas>/diagnostics.html and enable ssh. Maybe this doesn't work, then go to https://
The password for root is soho<admin password>New firmware:
Go to https://
<ip-of-nas>/ and login as admin
Then go to https://
<ip-of-nas>/manage/diagnostics.html and enable ssh. Enter a password for root. Possibly you'll have to add a 'soho' prefix (without quotes) when actually logging in.The actual installation:
Login as root over ssh. (On a Windows system you can use PuTTY
tar xf entware-ng-starter-20160316.tgz
That's all. Log out and login again, then the /opt/ directories are added to PATH, and opkg is usable
opkg list | less
1853 packages, at the moment. My personal favorite is Midnight Commander
opkg install mcOld kernel support
Entware-ng needs kernel 2.6.32 or newer. Because my ix2-ng has a 220.127.116.11 kernel (just like most kirkwood devices) that is a problem. I have recompiled Entware-ng libc with support for 2.6.24 en newer. These libraries are automatically installed when you have an 'old' kernel. As far as I know that works fine. The libraries are in use for some time on ZyXEL devices, and I haven't had any complaints.
When for some reason the stock libc is reinstalled, nothing works anymore. You will only get 'FATAL! Kernel too old' messages. Then you can run /opt/sbin/kernel-2.6.24-support.sh (or reboot, then that script is also executed) which restores the symlinks.x86
Entware-ng supports armv5, armv7, mipsel, x86-32 en x86-64. In my script I added detection for armv5, armv7 and x86-32. It is possible that it doesn't work on an x86, as I didn't know the output of 'uname -m' on a x86 based Iomega. My Atom laptop gives i686, and that's in the script. If an x86 Iomega outputs something else, let me know, then I'll change the script.Directories
The tutorials in the Entware-ng wiki assum that your data storage is in the /opt directory, as in the instructions for Transmission
Create the data directories (adjust as desired):
That is not a good idea on an Iomega. The /opt directory existed already, because the packages of Iomega are installed there too. (in /opt/apps). Because of that Entware-ng is on the 'apps partition', and not on the data partition. So put directories from which you can expect that they will contain a lot of data on a data partition (on my system /mnt/pools/A/A0/). If you want you can create a symlink in the /opt/ directory, to follow the tutorial as close as possible.
The firmware also uses the /opt directory, the 'apps' (silly word)[/size] are in /opt/apps/ and the package system itself in /opt/dpkg/. Unless you know what your are doing you'd better not touch them.Entware-ng & FFP coexisting
FFP and Entware-ng are both designed to exist next to the firmware, without interfering. A side effect is that they can coexist fine. But there are some small problems.
It's all in the PATH. When you type a command, the shell searches it's PATH to find it, and execute it. You can examine your PATH by typing
Normally, it contains something like '/usr/bin:/usr/sbin:/bin:/sbin'. This means the shell will first look in /usr/bin for your command, then in /usr/sbin, then in /bin, ...
Entware-ng puts itself in the PATH by prefixing it with '/opt/bin:/opt/sbin:', while FFP prefixes it with '/ffp/bin:/ffp/sbin:', but the way they do this is different.
When logging in, your shell is read from /etc/passwd. By default this is /bin/sh. This shell executes /etc/profile to set it's environment.
Entware-ng hooks this by making /etc/profile to source /opt/etc/profile, which adds the Entware directories to the PATH.
The FFP package exchanges the default shell in /etc/passwd by it's own shell, /ffp/bin/sh, which doesn't use /etc/profile, but /ffp/etc/profile, which appends the FFP path.
So if you have both FFP and Entware-ng installed, your PATH will by default not include the Entware-ng directories, as you are running an FFP shell, which doesn't use /etc/profile, and so doesn't use /opt/etc/profile either.
This problem can be solved by providing the full path when you want to execute an Entware-ng command:
or you can source /opt/etc/profile:
The latter has the problem that Entware-ng will put it's directories in front of the FFP directories,
which means the Entware-ng binaries will be prefered above the FFP one's. (Which can be solved by providing the full path of the desired FFP binaries)