Freifunk Augsburg

Blog zu Freifunk Augsburg und Mesh-Netzen im Allgemeinen

Freifunk OpenWrt Imagebuilder 0.2.0

Es hat ne ganze Weile gedauert, aber nun ist der Freifunk OpenWrt Imagebuilder in Version 0.2.0 verfügbar. Es wurde eine ganze Menge umgebaut und verbessert:

Community Profile

Bisher hat der Imagebuilder eigene Profile für die einzelnen Communities benutzt. Das war eher unpraktisch, denn Communities mussten dann je ein Profil für den Imagebuilder und eins für Luci pflegen. Jetzt benutzt der Imagebuilder einfach die Luci Profile mit. Das hat den positiven Nebeneffekt, dass nun alle Communities die ein Luci-Profil haben auch den Imagebuilder benutzen können, und nicht nur solche, die ein eigenes Profil für den Imagebuilder erstellt haben.

Eine Übersicht mit möglichen Werten findet man hier: http://wiki.freifunk.net/Kamikaze/Profile

Konfiguration durch den Meshwizard

Bisher hat der Imagebuilder die ganze Konfiguration des Routers selbst erledigt, das hat dazu geführt, dass nach dem ersten Boot ein recht langes Skript ausgeführt werden musste. Schwerwiegender war aber, dass Imagebuilder und der bisher verwendete ffwizard beide das selbe gemacht haben -  mit unterschiedlichen Skripten. Das war unnötige und doppelte Arbeit. Um diese Redundanz zu vermeiden hab ich angefangen den meshwizard zu schreiben. Das ist eine Sammlung von Shellskripten (shell damit das ganze auch ohne luci/lua läuft), die aus /etc/config/meshwizard und den Community-Profilen die Konfigurationsparameter für den Router auslesen und ihn entsprechend einrichten. Jetzt muss man im Imagebuilder nur noch wenige Parameter angeben, die für jedes Node individuell sind (z.B. Wifi-IP, Kontaktinfos oder Geokoordinaten), die der Imagebuilder dann nach /etc/config/meshwizard schreibt. Die eigentliche Konfiguration auf dem Node erledigt dann der meshwizard. Den Support für ffwizard werde ich einstellen und das Paket vermutlich demnächst entfernen.

Einige Felder im Imagebuilder wurden entfernt

Es wurden einige Formfelder im Imagebuilder entfernt, da die Werte dazu nun immer aus den Communityprofilen kommen sollen. Dazu gehören: domain, essid, bssid, countrycode, olsr broadcast

Firmwareupdate.sh

Der Updateprozess für Firmware aus dem Imagebuilder war bisher relativ umständlich. Der Benutzer musste auf die Imagebuilder-Webseite gehen, dort noconf=1 wählen, evtl. zusätzlich benötigte Pakete angeben, die Firmware generieren und auf den Router herunterladen und dann mit sysupgrade das Upgrade durchführen. Mit dem neu eingeführten Updatescript firmwareupdate.sh geht das wesentlich einfacher, hier als Beispiel ein Upgrade einer Routerstation:

root@10-11-0-101:~# /usr/bin/firmwareupdate.sh -k
I'm trying to generate and download your fírmware image now, this may take some time, please be patient.
Select which firmware image you want to download/flash:
1    openwrt-ar71xx-ubnt-rs-jffs2-sysupgrade.bin
2    openwrt-ar71xx-ubnt-rs-squashfs-sysupgrade.bin
#> 2
Downloading your new firmware now...
Are you really sure you want to flash the new firmware now? [N/y]y
I'm flashing your new firmware now. The router will reboot after that.
Saving config files...
Switching to ramdisk...
Performing system upgrade...
Unlocking kernel ...
Unlocking rootfs ...
Writing from <stdin> to kernel ...    
Writing from <stdin> to rootfs ...    
Appending jffs2 data from /tmp/sysupgrade.tgz to rootfs...
Updating FIS table...
Connection to 10.11.0.101 closed by remote host.
Connection to 10.11.0.101 closed.

Das Skript generiert hier ein neues Firmwareimage das alle im Moment installierten Pakete enthält, läd es auf den Router und flasht es anschliessend mit sysupgrade, dabei bleibt die bestehende Konfiguration erhalten.

Den Quellcode zum firmwareupdate.sh findet man hier:

wgaugsburg.de/trac/browser/kamikaze/contrib/imagebuilder/trunk/files/usr/bin/firmwareupdate.sh

Gewaltige Platzeinsparung

Es gab einen Bug im OpenWrt Imagebuilder der dazu führte, dass Paketlisten nicht gelöscht wurden bevor das Image gebaut wurde und so im rom des Routers gelandet sind. Dieser wurde gefixt und spart in unserem Fall fast 400kB ein. Das ist ne Menge Platz, gerade auf Routern mit nur 4MB Flash, der sich nun für andere, sinnvollere Dinge nutzen lassen kann.

Update von OpenWrt und Luci

OpenWrt wurde im stabilen/offiziellen Imagebuilder auf Backfire-branch/r28299 upgegraded, Luci auf Trunk/r7576. D.h. jede Menge tolle Verbesserungen/Neuerungen in OpenWrt und Luci.

Feedback

Wie immer bin ich an Bugreports und Feedback sehr interessiert.

Info/Testen

http://wiki.freifunk.net/Kamikaze/ImageBuilder

http://imagebuilder.augsburg.freifunk.net/cgi-bin/newkit

 

 

Kommentare (0)

Bisher keine Kommentare vorhanden.

Neuen Kommentar schreiben