New package: Entware-ng

Projektleiter: Mijzelf

Eine Art FFP 2.0 mit neuen Möglichkeiten und besserem Paket-Managment.

Detaillierte Beschreibung im ersten Thread.
Beiträge: 119
Registriert: Mi 14. Nov 2018, 19:50

New package: Entware-ng

Beitrag von Mijzelf »

What is it?
Entware-ng is a software repository for embedded devices like routers and network attached storages. The project is started to offer an alternative for the very outdated Optware packages.
Meanwhile, it's deprecated, and succeeded by Entware.

If you install Entware-ng on an Armv7 NAS, (the firmware 5 devices), it's automatically upgraded to Entware. On an Armv5 device not, as there is no upgrade path.

Entware-ng is installed in /opt, and is self containing. The binaries are not dependent on any firmware library, all needed libraries are installed in /opt/lib.

Entware-ng vs FFP
Both Entware-ng and FFP are self-containing, and independent of firmware libraries. Entware-ng installs in /opt, FFP in /ffp.

FFP is aging. The base system is unmaintained, and it dates from 2012. 3th party developers are doing a lot of work to update parts of it, but for beginners it's hard to gather the newest packages together, partly due to a missing package management.
Entware-ng is deprected, but still a lot younger than FFP. It has a proper package management. If you install a package, all it's dependencies are automatically installed either. The same is true for upgrading a package.

FFP is designed for NAS boxes. As on a NAS storage room is seldom an issue, the packages are in most cases not trimmed down. Entware-ng is more or less based on OpenWRT, which is an OS for embedded routers. On those boxes storage and ram are sparse, and for that reason the packages are slimmed down.
For instance, Asterisk on Entware-ng is splitted in 180 subpackages. This way you don't need to use storage room for functionality you don't need. On FFP Asterisk is a single package. This puts the 1800 packages of Entware-ng in perspective.

FFP is available in 2 tastes, ARMv5 EABI and ARMv5 OABI. OABI is past tense, only EABI remains. The NAS500 series has an ARMv7 processor. ARMv5 software runs on that, but not as fast as ARMv7 software. Entware-ng has both ARMv5 and ARMv7. Does that matter? Maybe. If your software is CPU limited, it matters. Not much, but measurable.
For instance, encryption. A simple test, encrypt 256MiB of zero's:
dd if=/dev/zero bs=1M count=256 | openssl aes-256-cbc -k "test" >/dev/null

Result, openssl from the armv5 repo on my NAS520:
268435456 bytes (256.0MB) copied, 16.385330 seconds, 15.6MB/s

268435456 bytes (256.0MB) copied, 15.300344 seconds, 16.7MB/s

Almost 10%. By the way, in this special case you'd better use the firmware openssl:
268435456 bytes (256.0MB) copied, 11.212898 seconds, 22.8MB/s

Entware-ng armv7 is soft-float, while the Mindspeed 2000 has hardware floating point support. The firmware uses that, Entware-ng doesn't. (Nor does FFP)

As FFP is installed in /ffp. and Entware-ng in /opt, they can coexist.

How to install
Install MetaRepository, and Entware-ng should show up in the package list.

If you want a self-containing stick, download the latest zipfile here, unzip it to a FAT formatted stick, read the readme file, plug the stick in the NAS and boot it.

It is als possible to let the zypkg start Entware-ng from an usb stick, or an SD card. By default it's installed in /i-data/sysvol/.PKG/Entware-ng/opt/ (/usr/local/zy-pkgs/opt on fw 4). You can copy (or move) this to an usb stick (need to have an ext file system), and put an (executable) script in the old opt/ directory. The output (stdout) of that script should be the opt directory on the stick/SD card.