Fix OpenWRT

From MiCasaVerde
(Redirected from OpenWRT)
Jump to: navigation, search

HOWTO fix some older OpenWRT issues



Vera uses a slightly outdated Kamikaze version of OpenWRT embedded Linux distribution for Broadcom platform, based on 2.4 Linux kernel.


Since the release, used in Vera, there were several changes in OpenWRT, which need to be taken into account in order to get extra packages installed successfully:

  • Packages now specify in their metadata how much space they take on the filesystem, thus ipkg first checks if enough space is available. But it doesn't take mini_fo overlay into account and complains that there is 0 bytes available in the root filesystem, since it's read-only.
  • In latest trunk snapshots (besides switching from ipkg to opkg) all the packages now specify "brcm-2.4" architecture instead of the old "mipsel", rendering them incompatible with the release of OpenWRT used in Vera. Although, there are ways to make Vera recognize "brcm-2.4" architecture as compatible, there can be issues with some packages not working properly.


Flash Partitions

The default hardware Vera runs on is Asus WL-500g router with 16MB or RAM and 8MB of flash. Flash is split into several partitions:

  • 128KB bootloader
  • ~500KB Linux kernel
  • ~5.8MB root squashfs filesystem (r/o)
  • 64KB config storage
  • ~1.8MB data jffs filesystem (r/w)

There is only 1.8MB of compressed space available for installing additional packages into the system. This data filesystem is mounted as /jffs, but is also an overlay of the rootfs in / (uses mini_fo fs, a la union fs, providing "copy on write" access)

Package Manager

The package manager in this version of OpenWRT is ipkg (Itsy Packager). It uses configuration file /etc/ipkg.conf



So, to solve the first item, we need to instruct ipkg to install packages into /jffs instead of / and add an extra "dest" line to /etc/ipkg.conf (should be the first "dest" to work as a default):

dest jffs /jffs

To address the second issue above, we should use the released Kamikaze versions of the packages, instead of the trunk. The URL of the system repository is and the URL of the X-Wrt repository is

The first line with the default system OpenWRT repository URL has to be changed like this:

src snapshots

The last line with the X-Wrt repository URL should look like this:

src X-Wrt


Here is the final /etc/ipkg.conf file:

src snapshots
dest jffs /jffs
dest root /
dest ram /tmp
src X-Wrt


First, we need to download the metadata with the list of installable packages:

# ipkg update
Updated list of available packages in /usr/lib/ipkg/lists/snapshots
Updated list of available packages in /usr/lib/ipkg/lists/X-Wrt

Then we can get the list of available packages with "ipkg list" and install extra packages with "ipkg install <pkgname>":

# ipkg install etherwake
Installing etherwake (1.09-1) to jffs...
Configuring etherwake

# etherwake
Specify the Ethernet address as 00:11:22:33:44:55.


Personal tools