[OLSR-users] Creating openwrt firmware bin
Wed Apr 13 18:00:15 CEST 2005
Man, o man, I thought I responded to this a week ago, but my email got trapped
on my laptop. Explains why I never got a response to the resume I sent,
either.... :(. Here is my original post on this thread.
John Gorkos <(spam-protected)> (Wildcat Wireless Internet)
OLSR discussion and development <(spam-protected)>, Andrew Hodel
Since this is a little off-topic for olsr, we should probably move off-list,
but I'll give other WRT hackers a chance to join in.
The problem is that, when you create a binary firmware, everything in it winds
up in the /rom filesystem, with symlinks in the jffs filesystem.
It is theoretically possible to create your firmware to "appear" to have
ipkgs installed, but this would create major havoc when actually trying to
ipkg upgrade a single package. Let's say two months from now, you want to
upgrade to a new version of olsr. The /usr/lib/ipkg/status file, which tells
ipkg what packages are installed, would actually be a symlink to the
non-writable /rom filesystem. New packages that are added, or old "packages"
that are upgraded, would not be able to update this file to indicate the
current state of the packages.
To overcome this, you COULD add something to the end of the firstboot script
that copies the /rom version to the jffs partition, making it actually
writable. But you would have the same issues with the actual files in the
package. The /sbin/olsrd binary, as well as all of the libraries and
configuration files, would be in non-writable ROM and symlinked. Trying to
install new binaries over this would fail silently, since ipkg would attempt
to write the files according to the symlinks to a read-only partition. If
you were to go through and remove all of the files prior to installation (in
the CONTROL/preinst script, for example), you could then install an olsrd
package, but that would take up double the disk space, since the original
version would still be on the romfs. Remember, you only have X amount of
RAM, and this is split between your romfs and your jffs when firstboot is
run. Actually, everything left over after romfs is installed becomes jffs,
but with a larger romfs (binary image), you have less space in jffs.
If you are going to create a custom WRT binary with olsrd and all of your own
configurations pre-configured, you are best served to completely forgo the
use of ipkg, and when the time comes to upgrade, simply copy the new binary
over to the routers and mtdflash it into place.
If you are SERIOUSLY considering doing this, we should consider working
together. I have maintained a fairly large (25+ node) mesh network using
openwrt and ipkgs since last September, and I have considered doing exactly
what I just described several times. I just haven't had the time to fully
execute it. I'm not completely convinced of the value of using WRT54G
routers in a commercial WISP. They are woefully underpowered and insensitive
for a fire-and-forget solution, especially with the stock dummy loads that
pose as antennas. But the job would be MUCH easier if I had a common binary
and KNEW that every router in the network had identical firmware.
On Wednesday 06 April 2005 17:04, Andrew Hodel wrote:
> I should have been more specific, I know how to customize what is
> already there, i.e. in sources/openwrt/root/etc/*
> Where I have a problem is having default software loaded in the system,
> I would like to already have olsrd in the firmware bin when I flash the
> Is there someway of installing an ipkg into buildroot?
> Andrew Hodel
> Andrew Hodel wrote:
> > Can anyone direct me in how to create a custom version of openwrt to
> > easily deploy via a firmware flash. I have used and customized
> > openwrt enough to get it where I want it, and played with buildroot a
> > bit but I can't seem to create a working image.
> > Just hoping for some advice from others who have done it....
> > Thanks,
> > Andrew Hodel
> > _______________________________________________
> > olsr-users mailing list
> > (spam-protected)
> > https://www.olsr.org/mailman/listinfo/olsr-users
> olsr-users mailing list
More information about the Olsr-users