Fix OpenWRT
m (OpenWRT moved to Fix OpenWRT: Reflects content better)  | 
			|||
| (3 intermediate revisions by one user not shown) | |||
| Line 1: | Line 1: | ||
| − | =Introduction=  | + | [[Category:User Instructions]]  | 
| + | [[Category:How To]]  | ||
| + | |||
| + | '''HOWTO fix some older OpenWRT issues'''  | ||
| + | |||
| + | ==Introduction==  | ||
Vera uses a slightly outdated Kamikaze version of OpenWRT embedded Linux distribution for Broadcom platform, based on 2.4 Linux kernel.  | Vera uses a slightly outdated Kamikaze version of OpenWRT embedded Linux distribution for Broadcom platform, based on 2.4 Linux kernel.  | ||
| − | =Flash Partitions=  | + | ===Issues===  | 
| + | 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.  | ||
| + | |||
| + | ==Prerequisites==  | ||
| + | ===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:  | 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:  | ||
| Line 13: | Line 25: | ||
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)  | 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=  | + | ===Package Manager===  | 
The package manager in this version of OpenWRT is ipkg (Itsy Packager). It uses configuration file /etc/ipkg.conf  | The package manager in this version of OpenWRT is ipkg (Itsy Packager). It uses configuration file /etc/ipkg.conf  | ||
| − | =  | + | ==Instructions==  | 
| − | + | ||
| − | + | ===Fixes===  | |
| − | + | ||
| − | + | ||
| − | =Fixes=  | + | |
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):  | 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):  | ||
| Line 37: | Line 45: | ||
  src X-Wrt http://downloads.x-wrt.org/xwrt/kamikaze/8.09.2/brcm-2.4/packages  |   src X-Wrt http://downloads.x-wrt.org/xwrt/kamikaze/8.09.2/brcm-2.4/packages  | ||
| − | =Summary=  | + | ===Summary===  | 
Here is the final /etc/ipkg.conf file:  | Here is the final /etc/ipkg.conf file:  | ||
| Line 46: | Line 54: | ||
  src X-Wrt http://downloads.x-wrt.org/xwrt/kamikaze/8.09.2/brcm-2.4/packages  |   src X-Wrt http://downloads.x-wrt.org/xwrt/kamikaze/8.09.2/brcm-2.4/packages  | ||
| − | =Testing=  | + | ===Testing===  | 
First, we need to download the metadata with the list of installable packages:  | First, we need to download the metadata with the list of installable packages:  | ||
| Line 66: | Line 74: | ||
  # etherwake  |   # etherwake  | ||
  Specify the Ethernet address as 00:11:22:33:44:55.  |   Specify the Ethernet address as 00:11:22:33:44:55.  | ||
| + | |||
| + | ==References==  | ||
Latest revision as of 20:54, 22 May 2011
HOWTO fix some older OpenWRT issues
Contents | 
[edit] Introduction
Vera uses a slightly outdated Kamikaze version of OpenWRT embedded Linux distribution for Broadcom platform, based on 2.4 Linux kernel.
[edit] Issues
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.
 
[edit] Prerequisites
[edit] 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)
[edit] Package Manager
The package manager in this version of OpenWRT is ipkg (Itsy Packager). It uses configuration file /etc/ipkg.conf
[edit] Instructions
[edit] Fixes
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 http://downloads.openwrt.org/kamikaze/8.09.2/brcm-2.4/packages and the URL of the X-Wrt repository is http://downloads.x-wrt.org/xwrt/kamikaze/8.09.2/brcm-2.4/packages
The first line with the default system OpenWRT repository URL has to be changed like this:
src snapshots http://downloads.openwrt.org/kamikaze/8.09.2/brcm-2.4/packages
The last line with the X-Wrt repository URL should look like this:
src X-Wrt http://downloads.x-wrt.org/xwrt/kamikaze/8.09.2/brcm-2.4/packages
[edit] Summary
Here is the final /etc/ipkg.conf file:
src snapshots http://downloads.openwrt.org/kamikaze/8.09.2/brcm-2.4/packages dest jffs /jffs dest root / dest ram /tmp src X-Wrt http://downloads.x-wrt.org/xwrt/kamikaze/8.09.2/brcm-2.4/packages
[edit] Testing
First, we need to download the metadata with the list of installable packages:
# ipkg update Downloading http://downloads.openwrt.org/kamikaze/8.09.2/brcm-2.4/packages/Packages Updated list of available packages in /usr/lib/ipkg/lists/snapshots Downloading http://downloads.x-wrt.org/xwrt/kamikaze/8.09.2/brcm-2.4/packages/Packages Updated list of available packages in /usr/lib/ipkg/lists/X-Wrt Done.
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... Downloading http://downloads.openwrt.org/kamikaze/8.09.2/brcm-2.4/packages/etherwake_1.09-1_mipsel.ipk Configuring etherwake Done. # etherwake Specify the Ethernet address as 00:11:22:33:44:55.