Skip to content

Instantly share code, notes, and snippets.

@dreamcat4
Last active April 14, 2023 05:07
Show Gist options
  • Save dreamcat4/6e58639288c1a1716b85 to your computer and use it in GitHub Desktop.
Save dreamcat4/6e58639288c1a1716b85 to your computer and use it in GitHub Desktop.
Install entware on ARM based router eg tomato / ddwrt / asus-merlin cfw

Merged into entware-ng project

https://github.com/Entware-ng/Entware-ng

Deprecated

Quick install Entware on ARM devices

These instructions are for ARM devices only. For mipsel devices, then see the official entware readme instead at: https://github.com/Entware/entware

Thanks to qnapware - it works just as well on our routers too! Source: http://qnapware.zyxmon.org/binaries-armv7/installer/

Tested on Netgear Nighthawk R7000, with Shibby Tomato / AdvancedTomato v1.28 firmware. On an ext4 partition with it's journalling disabled.

Instructions for ARM device

  • mount a disk to '/tmp/mnt/usb_hdd' or similar. Do not use the internal 'JFFS' flash, it will kill / ruin your router
mount -o noatime,writeback /dev/sda2 /tmp/mnt/usb_hdd
  • bind-mount to /opt
mkdir -p /tmp/mnt/usb_hdd/opt
mount -o bind /tmp/mnt/usb_hdd/opt /opt

# might as well bind-mount '/jffs' too while we are at it
mkdir -p /tmp/mnt/usb_hdd/jffs
mount -o bind /tmp/mnt/usb_hdd/jffs /jffs
  • Download entware ARM installer script. It installs to '/opt' only and nowhere else.
cd /tmp/mnt/usb_hdd
wget http://qnapware.zyxmon.org/binaries-armv7/installer/entware_install_arm.sh
  • Run entware installer script
chmod +x entware_install_arm.sh
./entware_install_arm.sh
  • Follow any post-install instructions printed at the end of installation. e.g. add some line's to your router's INIT script (advanced --> startup/shutdown scripts)

Entware is now installed. Use 'opkg' command to install pkgs

opkg --help

The entware config file is at '/opt/etc/entware.config'. But don't mess about with it (back it up first).

@diman82
Copy link

diman82 commented Jul 6, 2016

Works like a charm on DD-WRT v3.0-r29837 std (06/06/16).
Are the packages can/should be upgraded? Or it isn't a recommended process?
I tried the following:
opkg update #downloads a package file to /opt/var/opkg-lists/packages approx 256KB in size
opkg upgrade #nothing happens

root@DD-WRT:# opkg upgrade curl
Installing curl (7.43.0-1) to root...
Downloading http://qnapware.zyxmon.org/binaries-armv7/curl_7.43.0-1_armv7soft.ipk.
Configuring curl.
root@DD-WRT:
# curl -V
curl 7.32.0 (arm-uclibc-linux) libcurl/7.32.0 OpenSSL/1.0.2h zlib/1.2.8
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smtp smtps telnet tftp
Features: Largefile NTLM NTLM_WB SSL libz TLS-SRP

It says that package is upgraded, but that doesn't seem to be the case?
Anyone has an explanation to such a behavior?

@diman82
Copy link

diman82 commented Jul 7, 2016

Is there any possibility to add support for other languages, primary I need Cyrillic support?

@wojiushirencai
Copy link

Great!! But does anyone know how to install node.js on r7000 with Merlin.

@audioscavenger
Copy link

this is HUGE. Many thanks.
I don't have the /opt/etc/entware.config, is that ok?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment