Occasionally it may be necessary to install a package manually on OpenWrt firmwares due to bugs or incompatibilities preventing automatic installation. Here’s how to do it.
An .ipk file is just a regular tar/gz archive so we can extract the contents with tar. In this case I’m installing the Network UPS package on Gargoyle:
cd /tmp
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/nut_2.6.5-2_ar71xx.ipk
tar zxpvf nut_2.6.5-2_ar71xx.ipk
This extracts three files:
./debian-binary
./data.tar.gz
./control.tar.gz
data.tar.gz
is the file we want. To install to the router simply extract the files to root:cd /
tar zxpvf /tmp/data.tar.gz
And you’re done. Keep in mind that many packages will have dependencies and you’ll have to install those yourself (manually or through opkg) if you want the software to work.