Installing the Entware repository on a USB drive
To install OpenWRT packages on Keenetic, you first need to prepare an external USB flash drive and install the Entware repository package system on it.
Connect the flash drive to your PC and prepare its partitions. The disk must be formatted in the EXT file system for the OPKG package manager to work. We recommend using the modern and up-to-date journaled ext4 file system. Format the disk as shown in the article 'Using the ext4 file system on USB drives'.
In your Keenetic router, install the required OPKG components. The primary and mandatory one is the 'Open Package support' component.
Now, you need to install the Entware package system repository.
Note
For Titan (KN-1811), use the aarch64 archive — EN_aarch64-installer.tar.gz
In our example, we will install the mipsel archive.
Plug the USB drive with the ext4 file system into the router's USB port. The drive should appear on the 'Applications' page under 'USB Devices'.
Use a file manager to connect to the drive via the network (in Windows, you can use Explorer). In the router's settings, the SMB server application must be enabled in advance to access USB disks that you connect over the network.
Create an
install
directory in the root of the disk partition where you put the fileEN_mipsel-installer.tar.gz
.Go to the OPKG page and select the ext4 drive you have prepared in the 'Drive' field.
Click Save.
Go to the Diagnostics page and open the router's System Log. You should see the following entries when installing Entware's package system:
Dec 7 11:48:53 ndm Opkg::Manager: disk is set to: TOSHIBA:/. Dec 7 11:48:53 ndm Opkg::Manager: init script reset to default: /opt/etc/initrc. Dec 7 11:48:53 ndm Core::System::Configuration: saving (http/rci). Dec 7 11:48:53 kernel EXT4-fs (sda1): re-mounted. Opts: (null) Dec 7 11:48:53 ndm Opkg::Manager: /tmp/mnt/ee4d809f-d6ac-4f82-b5ef-d6940340ef39 mounted to /tmp/mnt/ee4d809f-d6ac-4f82-b5ef-d6940340ef39. Dec 7 11:48:53 ndm Opkg::Manager: /tmp/mnt/ee4d809f-d6ac-4f82-b5ef-d6940340ef39 mounted to /opt/. Dec 7 11:48:53 npkg inflating "EN_mipsel-installer.tar.gz". Dec 7 11:48:54 ndm Opkg::Manager: /tmp/mnt/ee4d809f-d6ac-4f82-b5ef-d6940340ef39 initialized. Dec 7 11:48:54 ndm Opkg::Manager: invalid initrc "/opt/etc/initrc": no such file or directory, trying /opt/etc/init.d/. Dec 7 11:48:54 ndm Opkg::Manager: /opt/etc/init.d/doinstall: [1/5] Starting "Entware" deployment... Dec 7 11:48:54 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Partition is OK. Dec 7 11:48:54 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: "ping google.com"... Dec 7 11:48:56 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: "ping google.com" ..... OK. Dec 7 11:48:56 ndm Core::System::Configuration: configuration saved. Dec 7 11:48:57 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: "ping bin.entware.net"... Dec 7 11:48:59 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: "ping bin.entware.net" ..... OK. Dec 7 11:49:01 ndm Opkg::Manager: /opt/etc/init.d/doinstall: [2/5] Basic packages installation... Dec 7 11:49:01 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Installing "libgcc" package... Dec 7 11:49:02 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: The "libgcc" package has been installed. Dec 7 11:49:03 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Installing "libc" package... Dec 7 11:49:07 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: The "libc" package has been installed. Dec 7 11:49:08 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Installing "libpthread" package... Dec 7 11:49:09 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: The "libpthread" package has been installed. Dec 7 11:49:10 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Installing "librt" package... Dec 7 11:49:12 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: The "librt" package has been installed. Dec 7 11:49:13 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Installing "entware-release" package... Dec 7 11:49:14 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: The "entware-release" package has been installed. Dec 7 11:49:15 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Installing "findutils" package... Dec 7 11:49:16 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: The "findutils" package has been installed. Dec 7 11:49:17 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Installing "grep" package... Dec 7 11:49:19 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: The "grep" package has been installed. Dec 7 11:49:20 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Installing "ldconfig" package... Dec 7 11:49:22 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: The "ldconfig" package has been installed. Dec 7 11:49:23 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Installing "locales" package... Dec 7 11:49:25 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: The "locales" package has been installed. Dec 7 11:49:26 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Installing "opkg" package... Dec 7 11:49:28 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: The "opkg" package has been installed. Dec 7 11:49:29 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Installing "zoneinfo-asia" package... Dec 7 11:49:31 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: The "zoneinfo-asia" package has been installed. Dec 7 11:49:32 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Installing "zoneinfo-europe" package... Dec 7 11:49:33 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: The "zoneinfo-europe" package has been installed. Dec 7 11:49:34 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Installing "opt-ndmsv2" package... Dec 7 11:49:36 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: The "opt-ndmsv2" package has been installed. Dec 7 11:49:37 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Installing "dropbear" package... Dec 7 11:49:39 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: The "dropbear" package has been installed. Dec 7 11:49:40 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Installing "poorbox" package... Dec 7 11:49:42 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: The "poorbox" package has been installed. Dec 7 11:49:43 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Installing "busybox" package... Dec 7 11:49:49 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: The "busybox" package has been installed. Dec 7 11:49:50 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: All basic packages were installed... Dec 7 11:49:50 ndm Opkg::Manager: /opt/etc/init.d/doinstall: [3/5] Generating SSH keys... Dec 7 11:49:50 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Generating "rsa" key... Dec 7 11:49:58 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: "rsa" key was created. Dec 7 11:49:59 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Generating "ecdsa" key... Dec 7 11:49:59 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: "ecdsa" key was created. Dec 7 11:50:00 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: Generating "ed25519" key... Dec 7 11:50:00 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Info: "ed25519" key was created. Dec 7 11:50:02 ndm Opkg::Manager: /opt/etc/init.d/doinstall: [4/5] Setting timezone, script initrc and starting "dropbear"... Dec 7 11:50:02 dropbear[16931] Running in background Dec 7 11:50:02 ndm Opkg::Manager: configured init script: "/opt/etc/init.d/rc.unslung". Dec 7 11:50:02 ndm Core::System::Configuration: saving (http/rci). Dec 7 11:50:02 ndm Opkg::Manager: /opt/etc/init.d/doinstall: Log on to start an SSH session using login - root, password - keenetic. Dec 7 11:50:02 ndm Opkg::Manager: /opt/etc/init.d/doinstall: [5/5] "Entware" installed! Dec 7 11:50:05 ndm Core::System::Configuration: configuration saved.
Download the Putty terminal program for SSH and Telnet.
Start Putty, select the SSH connection type, type the router's IP address in the Home segment (
192.168.1.1
by default), specify port222
and click Open.See the 'Terminal program for Windows' article for more information on working with Putty.
Important
Port
222
is used if the 'SSH server' component is installed in the router. If it is not installed, use port22
to connect to Entware.Confirm adding the security key to the Putty cache to establish the connection.
When booting up, confirm login by pressing Yes.
Then go to the router settings using the Secure Shell (SSH) protocol.
To log in, enter:
login as:
root
root@192.168.111.1's password:keenetic
You can set your password. To do this, enter the
passwd
command:New password: enter your
password
Retype password: confirm the
password
~ #
passwd
Changing password for root New password: Bad password: too weak Retype password: passwd: password for root changed by rootAfter successful authorization, you will come to the BusyBox v1.27.2 () built-in shell (ash). Now you need to update the opkg package by entering the command
opkg update
:/ #
opkg update
Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz Updated list of available packages in /opt/var/opkg-lists/entware Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.gz Updated list of available packages in /opt/var/opkg-lists/keendevNow you can install the necessary OpenWRT package.
For example, to install the Midnight Commander file manager, run the command:
opkg install mc
Tip
You can find the list of packages:
An additional list of packages for Keenetic can be found here:
Important
Our technical support does not provide consulting on configuring and installing external packages. Questions about the router's operations with open packages can be asked on our Community Forum: forum.keenetic.net.
Here is an example of installing a package in our Help Center: 'Installation and configuration of the rTorrent OPKG package'.