Zeile 9: |
Zeile 9: |
| ===Fehlerliste (bugreport)=== | | ===Fehlerliste (bugreport)=== |
| ===Neue Firmware selbst bauen (buildprozess, howto)=== | | ===Neue Firmware selbst bauen (buildprozess, howto)=== |
| + | * Dies ist ein Notizzettel zum bauen einer neuen Firmware. Saemtliche Schritte habe ich fuer ein Linux-System dokumentiert. Eigentlich kann man ein komplettes Copy&Paste machen und schon ist alles fertig. |
| + | * Der normale Weg ist, sich die aktuelle Weimarnetz-Firmware auf den Router zu packen, alle Aenderungen auf dem Router vorzunehmen und dann diese Anleitung nachzumachen. |
| + | <pre> |
| + | EIGENER_ROUTER=$(route -n|awk '/default/{printf $2}') |
| + | ssh $EIGENER_ROUTER |
| + | |
| + | # nun sind wir auf dem Router |
| + | |
| + | cd / |
| + | tar cvzhf www/fw.tgz usr/sbin/*weimar* etc/init.d/*weimar* www/*nervseite www/*info* www/*reg* www/cgi-bin/*kinder* |
| + | |
| + | # nun haben wir eine direkt herunterladbare Datei fw.tgz, die |
| + | # alle weimarnetz-spezifischen Dateien enthaelt. |
| + | # nun muessen wir noch alle zusaetzlich installierten |
| + | # Software-Pakete herausfinden und in ein Archiv packen: |
| + | |
| + | PAKETE="batman2 busybox-awk freifunk-dnsmasq netcat zlib librrd1 rrdtool1 rrdcollect rrdcgi1 freifunk-statistics-de" |
| + | tar cvzf /www/ipkg.tgz /usr/lib/ipkg/info/* $(for F in $PAKETE;do ipkg files $F|awk '{if($0!="/")system("ls -ld "sprintf("%s",substr($0,2)))}'|awk '{if($5>0)print $9}';done) |
| + | exit |
| + | |
| + | # nun haben wir eine direkt herunterladbare Datei ipkg.tgz, |
| + | # haben also alles was wir brauchen und sind wieder auf unserem Rechner |
| + | # wir laden und das aktuelle Kit von sven-ola's freifunk-seite |
| + | # herunter und entpacken dieses auf unserem Rechner |
| + | |
| + | KIT_URL="http://212.222.128.68/sven-ola/ipkg/_kit/" |
| + | KIT_VERSION="freifunk-openwrt-kit-1.2.5-de" |
| + | wget $KIT_URL$KIT_VERSION".tgz" |
| + | tar xvzf $KIT_VERSION".tgz" |
| + | cd $KIT_VERSION |
| + | |
| + | # nun machen wir uns ein Verzeichnis in der die komplette |
| + | # Verzeichnisstruktur und alle Dateien wie sie auf dem Router |
| + | # sind reinkopiert werden. Das Grundsystem ist im Kit schon dabei. |
| + | # die zwei Dateien, die wir eben auf dem Router erstellt |
| + | # haben, nehmen wir von dort oder aus dem SVN |
| + | |
| + | wget "http://$EIGENER_ROUTER/fw.tgz" |
| + | wget "http://$EIGENER_ROUTER/ipkg.tgz" |
| + | mkdir weimar |
| + | cd weimar |
| + | tar xvzf ../root.tgz |
| + | tar xvzf ../fw.tgz |
| + | tar xvzf ../ipkg.tgz |
| + | |
| + | # ok,nun ist fast alles fertig. Wir haben nun noch die Chance |
| + | # nach www/ ein eigenes bild zu kopieren und ein paar kleine |
| + | # Aenderungen durchzufuehren, z.b.: |
| + | |
| + | # kleiner workaround fuer weimarnetz-cron-ersatz: |
| + | sed '/runchecks/d' etc/init.d/S53olsrd >S53olsrd |
| + | mv S53olsrd >etc/init.d/S53olsrd |
| + | |
| + | # holen und formatieren der aktuellen nervseite: |
| + | wget -O - "http://wireless.subsignal.org/index.php?title=Nervseite"|sed '/-- NERVSEITE:START --/,/-- NERVSEITE_LEEREKONTAKTDATEN:END --/!d' >www/nervseite-vorlage |
| + | |
| + | # nun alles wieder einpacken und neues firmwareimage erzeugen |
| + | # das firmwareimage wird schon nach unixzeit und datum benannt: |
| + | |
| + | tar cvzf ../root.tgz * |
| + | cd .. |
| + | X=$(date -Ih|awk -F[-T] '{print($1-1970)*31536000+$2*2592000+$3*86400+$4*3600}') |
| + | Z=$(date -R|awk -F"[, :]" '{printf("%s%s%s-%suhr%s",$3,tolower($4),$5,$6,$7)}') |
| + | N="weimarnetz_firmware-$X-$Z-trx.bin" |
| + | ./gen-openwrt -v $N trx >$N |
| + | |
| + | # und schmalspurversion (ohne SSH und intro-bild) bauen: |
| + | # und gleich noch ins SVN hochladen |
| + | |
| + | svn checkout https://svn.sourceforge.net/svnroot/weimarnetz-fw/ |
| + | cd weimarnetz-fw/trunk/firmware/ |
| + | rm -fR * |
| + | svn rm * |
| + | wget "http://$ROUTER/fw.tgz" |
| + | tar xvzf fw.tgz |
| + | rm fw.tgz |
| + | svn add * |
| + | svn commit -m "$X-$Z" |
| + | |
| + | </pre> |