The tool used for the flashing procedure is ap51-flash. Several patches have been added to support a low-memory consumption mode as well as scripts for the OpenWRT package which allow running an ap51-flash daemon on every LAN port of an embedded device like the Dlink DIR-300 and flashing 4 devices at the same time. Further both flashing images from the RAM (up to 7MB for a Dlink flash router) or a seperate NFS server is possible (for the WBM3, the latter has been done).
Warning: It hasn't been tested extensively for such a flashing-battery for 20 nodes before. The WBM3 showed, that there are still some race conditions in the tool and scripts, which makes restarting single instances manually necessary from time to time.
SWITCH | | | | | \----- Debian PC, running a NFS server | \------(WAN-Port) 5x Dlink DIR-300 (LAN-Port) | \----- 4x Foneras
NFS server configuration
aptitude install nfs-kernel-server nfs-common
/srv/nfs/images/port1 192.168.2.0/24(ro) /srv/nfs/images/port2 192.168.2.0/24(ro) /srv/nfs/images/port3 192.168.2.0/24(ro) /srv/nfs/images/port4 192.168.2.0/24(ro)
Symlinks to image file directories (ln -s ...):
ln -s /directory/to/image-files /srv/nfs/images/port1 ln -s /directory/to/image-files /srv/nfs/images/port2 ln -s /directory/to/image-files /srv/nfs/images/port3 ln -s /directory/to/image-files /srv/nfs/images/port4
Now you can exchange different images for flashing by exchanging the /srv/nfs/images/ folder containing the symlinks.
For the WBM3, there've been some experimental patches been added to the ap51-flash tool. They are further reducing its RAM consumption on the one hand and to let ap51-flash exit only, if it detected a successful reboot of a newly flashed device (before you had to check manually if the 10min. for flashing a Fonera were over).
Patches for ap51-flash in OpenWRT's packages svn revision 21552
OpenWRT Kamikaze .config file (minimal package selection) (copy to your kamikaze build dir)
uci-config files (extract to your kamikaze build dir)
Note: Increase ip address on WAN (in /etc/config/network) for every other flash router connected to the same switch
Then build your OpenWRT flash router image(s) and flash it/them on your soon to be Flash-Router(s).
Access to flash router: telnet 192.168.2.x
Flashing status: cat /tmp/ap51-flash.log