-
Notifications
You must be signed in to change notification settings - Fork 1
Home
UI-Ware is a software repository for embedded devices which use the Linux kernel, primarily routers and network attached storages. It has long been the practice of manufacturers for these devices to "overpower" them relative to the functions they are designed to perform. (It's generally more profitable to provide the extra computational margin than bear the cost of increased support for those who more heavily tax them.) Installing Entware can allow users to take advantage of this extra computing power by adding software to the device which permits it to perform new tasks or provide other features besides those they were marketed for, or simply to perform those functions better.
Over 2,500 packages are currently available, ranging from language interpreters like Python v3 and Perl v5 to the most fundamental Unix-like tools such as grep, awk and sed. All packages are compiled for use on eight of the most commonly used architecture toolchains to the extent which they are compatible; expand the collapsed section below to see a table which lists all of the architecture and toolchain combinations with links to a searchable package index for each.
Table of Entware-supported architectures with package index links
Architecture | Kernel Version | GNU C Library Version | Package Index |
---|---|---|---|
armv7sf | 2.6 | 2.23 | https://bin.entware.net/armv7sf-k2.6/Packages.html |
x86 | 2.6 | 2.23 | https://bin.entware.net/x86-k2.6/Packages.html |
x86_64 | 3.2 | 2.27 | https://bin.entware.net/x64-k3.2/Packages.html |
armv5sf | 3.2 | 2.27 | https://bin.entware.net/armv5sf-k3.2/Packages.html |
armv7sf | 3.2 | 2.27 | https://bin.entware.net/armv7sf-k3.2/Packages.html |
mipssf | 3.4 | 2.27 | https://bin.entware.net/mipssf-k3.4/Packages.html |
mipselsf | 3.4 | 2.27 | https://bin.entware.net/mipselsf-k3.4/Packages.html |
aarch64 | 3.10 | 2.27 | https://bin.entware.net/aarch64-k3.10/Packages.html |
Entware began from a desire to produce an alternative to what, even then, was already a very outdated project named Optware. Not even five years later, thanks to steady development on the tooling that built the packages and the natural progression of device hardware, several additional forks were born to run on NASes, PCs and newer ARM routers. In time, the x86, x86_64, MIPS, ARMv5 and ARMv7 forks merged back together into Entware-ng, while the repositories serving devices with kernels newer than 2.6 remained separate as Entware-ng-3x. Once it was feasible to build all the packages using the same tools, the project finally came full circle with the merger of Entware-ng and Entware-ng-3x back into a single, unified Entware. Despite the various name changes, the projects have always been maintained by the same team of developers.
Feel free to open a new package request if you think there is an open-source project that isn't included in the repository that would make a worthwhile addition. We do ask that you search first to see if it's been requested before, and if so and a reason was given for it not being possible or within the scope of the project, not to duplicate it. Provided your request can successfully meet the project requirements shown below without requiring extensively customizing the upstream build system, it likely will be added at the next package refresh. Please watch for updates on your request and be ready to answer questions and provide feedback about it as needed.
- No similar package is current in the repository, and/or this one has some noteworthy new features.
- The project is actively developed (or at the very least had commits added in the last five years).
- There are obvious use cases for it by the userbase at-large besides my own.
- I'm ready to beta test the package on my platform [e.g. mipselsf-k3.4] and provide feedback on it prior to its release.
See the Platform-specific installation guides section in the sidebar on the right for available documentation on using Entware on your device. If you are using a device which is not covered there, make sure these most basic requirements are met:
- The output of running
uname -m
on your device's default shell is one of:armv5
,armv7l
,aarch64
,mips
,mipsel
,x86
orx86_64
. - The output of
stat -c '%a' /opt
is greater than or equal to 600 (either as a part of the rootfs or an external drive). - A mechanism exists for the device to automatically execute
/opt/etc/init.d/rc.unslung start
each time it boots and/opt/etc/init.d/rc.unslung stop
before any shutdowns. - The ability to source
/opt/etc/profile
when connecting to interactive ssh/telnet sessions. (recommended, but not required)
Entware uses the opkg
package manager (a fork of Optware's ipkg
), developed and utilized by the OpenWrt open-source router firmware, and who also offer some in-depth documentation for it.
Here's a step-by-step walkthrough of finding and installing the packages for the Transmission BitTorrent client's web interface (along with its dependencies) from the Entware repositories, to give you an idea of how to use it. The steps below are indicative of the following thought process on the part of the user:
- Start by fetching the current package list from the repository to make sure that the information we're about to base our decisions on is accurate and complete.
- Display a list of all packages in the repository that begin with the word
transmission
. - Present the details of the
transmission-web
package, notably its size, status and list of dependencies so we can be relatively sure of the result of choosing to install it. - Install the package and any of its dependencies which aren't already installed (in this case, the
transmission-daemon
package).
# opkg update
Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz.
Updated list of available packages in /opt/var/opkg-lists/entware.
# opkg list transmission*
transmission-cfp-cli - 2.77plus-20210309-1 - CLI utilities for transmission.
transmission-cfp-daemon - 2.77plus-20210309-1 - Transmission is a simple BitTorrent client.
It features a very simple, intuitive interface
on top on an efficient, cross-platform back-end.
This package contains the daemon itself.
transmission-cfp-remote - 2.77plus-20210309-1 - CLI remote interface for transmission.
transmission-cfp-web - 2.77plus-20210309-1 - Webinterface resources for transmission.
transmission-cli - 3.00-17 - CLI utilities for transmission.
transmission-daemon - 3.00-17 - Transmission is a simple BitTorrent client.
It features a very simple, intuitive interface
on top on an efficient, cross-platform back-end.
This package contains the daemon itself.
transmission-remote - 3.00-17 - CLI remote interface for transmission.
transmission-web - 3.00-17 - Webinterface resources for transmission.
transmission-web-control - 2021-09-25-4b2e1858-2 - Transmission Web Control is a custom Web UI for Transmission.
# opkg info transmission-web
Package: transmission-web
Version: 3.00-17
Depends: libc, libssp, librt, libpthread, transmission-daemon
Status: unknown ok not-installed
Section: net
Architecture: all
Size: 223710
Filename: transmission-web_3.00-17_all.ipk
Description: Webinterface resources for transmission.
# opkg install transmission-web
Installing transmission-web (3.00-17) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/transmission-web_3.00-17_all.ipk.
Installing transmission-daemon (3.00-17) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/transmission-daemon_3.00-17_mipselsf.ipk.
…
See the Application-specific tips pages from the sidebar at right to explore other popular use cases.
In some rare cases you can fall into issue when new package wont start:
# opkg update
# opkg upgrade
# minidlna
minidlna: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
Unfortunately, opkg
isn't sophisticated enough to react to the fact that the minidlna
dependencies have changed and that minidlna
should be re-installed too. Instead, you have to do that manually:
opkg --autoremove remove minidlna
opkg install minidlna
Also, some new packages can provide the same content as installed one:
# opkg upgrade
Installing libiconv-full2 (1.11.1-4) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libiconv-full2_1.11.1-4_mipsel-3.4.ipk
Collected errors:
* check_data_file_clashes: Package libiconv-full2 wants to install file /opt/lib/libiconv.so.2
But that file is already provided by package * libiconv-full
* check_data_file_clashes: Package libiconv-full2 wants to install file /opt/lib/libiconv.so.2.4.0
But that file is already provided by package * libiconv-full
Remove it manually and run opkg upgrade
again:
# opkg --force-depends remove libiconv-full
Removing package libiconv-full from root...
# opkg upgrade
Installing libiconv-full2 (1.11.1-4) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libiconv-full2_1.11.1-4_mipsel-3.4.ipk
Configuring libiconv-full2.
Entware uses OpenWrt buildroot to compile packages. Some of packages came from OpenWrt, others are unique. We sync our sources with OpenWrt feeds and update our own packages approx. once per month, catching bugs and adding some enhancements all other time.
See how to Compile packages from sources if you wish to edit or add packages.
Every binary from the repo uses no library from outside the /opt
folder. No kernel modules are provided as long as they may be (and will be!) incompatible with current firmware.
There is no any central forum for UI-Ware users, different devices are discussed in separate threads:
- UBIQUITI - DEUTSCHES FAN FORUM - https://ubiquiti-networks-forum.de/board/
- Community at UI - https://community.ui.com/tags/unifi-routing-switching
© 2022 MCPat