A robit cely firmware velmi nechcem z dovodu, ze ak by to fungovalo tak ako chcem tak by bolo potrebne nahravat upraveny firmware do kazdeho zariadenia a tych je niekolko tisic.
Ok, delej jak myslis. Ja jsem nikde nic o vlastnim firmware nepsal. Psal jsem, ze si mas zkompilovat zakladni OpenWrt pro tu danou platformu(ar71xx) a SVN revizi OpenWrt. Tim ziskas kompletni toolchain a staging adresar (include, libs pro target), se kterym budes teoreticky schopny zkompilovat neco co ti na tom kramu od Ubnt pobezi. Nikde neni napsane, ze to musis prehravat cele. Tim ze pouzijes OpenWrt build system, usetris spousty casu a nervu. Lehce pak pridas dalsi zavislosti (chybi libpcap? libsqlite3? neni problem, pridas do konfigurace a znovu zkompilujes).
Ja mam treba nekolik takovych souboru, ktere pouzivam pro ruzne zarizeni, ktere si pomoci prikazu 'source' nahraju do aktualniho prostredi:
export OWRT_ROOT=/opt/devel/openwrt/cm2
export STAGING_DIR=$OWRT_ROOT/staging_dir/target-mips_r2_uClibc-0.9.33
export TOOLCHAIN=$OWRT_ROOT/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33
export PATH=$TOOLCHAIN/bin:$PATH
export ARCH=mips
export CROSS_COMPILE=mips-openwrt-linux-uclibc-
export CC=${CROSS_COMPILE}gcc
export CXX=${CROSS_COMPILE}g++
export LD=${CROSS_COMPILE}gcc
export STRIP=${CROSS_COMPILE}strip
export AR=${CROSS_COMPILE}ar
export RANLIB=${CROSS_COMPILE}ranlib
a pak mam treba v Makefile (pokud na zarizeni chybi libpcap):
cp $(STAGING_DIR)/usr/lib/libpcap.so.1.1 root@mips-cm2:/usr/lib
A stejne pokud tady mluvis o 1k+ zarizenich, tak te vetsinou vlastni firmware nemine, protoze to budes chtit nejak spravovat, monitorovat, upgradovat...