Firmware für tiny devices

Adrian Schmutzler mail at adrianschmutzler.de
Do Jul 25 20:36:15 CEST 2019


Moin,

ich habe mal ein bisschen mit der tiny-Firmware rumgespielt.

Achtung: Das ganze basiert auf dem OpenWrt master. D.h. es ist bereits Kernel 4.19 und ath79-Target (letzteres sollte keinen relevanten Unterschied machen).

1. Standard-Build
error: images are too big by 219307 bytes

2. Ohne Webserver-Zeugs (nur erste Zeile der dependencies in fff-web/Makefile entfernen) und simple-tc
error: images are too big by 20803 bytes

Da sind dann immer noch drin:
wireless-tools 21kB Brauchen wir die unbedingt?
batctl 34kB Es gibt inzwischen ein batctl-tiny, keine Ahnung ob uns das reicht. https://github.com/openwrt-routing/packages/blob/master/batctl/Makefile#L40
odhcp6c 35kB Was tut der? IPv6 Client Sachen am WAN?
evtl. kann man auch das tc beim macnocker noch genauer konfigurieren, sodass nicht alles dabei ist
Die fff-web-Package ist auch noch nicht entfernt, nur die Dependencies
Kernel-Optionen sind unverändert

3a. Lösche fff-web
Reicht schon :-)
fff-web hat 90 kB uncompressed, davon allein leaflet.js.gz 33 kB (und die ist schon komprimiert).
Verkleinerung Image um 52118 B
Jetzt braucht man nur noch eine ganz primitive Lösung, um das Hoodfile anzubieten.

3b. Füge simple-tc wieder hinzu
Bumm, error: images are too big by 599 bytes.
simple-tc allein braucht 31930 B (compressed).

4. Wieder ausgehend von 1 habe ich jetzt nur simple-tc entfernt und eine neue Package fff-web-tiny gebaut (fff-web wird einfach in fff/Makefile abgewählt).
fff-web-tiny enthält nur den uhttpd und das config-Skript für das hood-Verzeichnis.
Das sind jetzt noch 13697 B UNTER der Grenze von dem Image-Size-Check. uhttpd ist also ca. 17 kB groß, man müsste aber keinen Webserver selber bauen.
Jetzt könnte man immer noch die Sachen von 2. überlegen.
Mit Kernel 4.14 wird der freie Platz zudem noch mehr.

PS: batctl-tiny bringt auch nochmal 17 kB compressed.

Das alles jetzt mal so als Testmitschrift. Ich werde jetzt damit mal ein richtiges Image bauen und on-device testen.

Der simple-tc Code ist ganz unschön zwischen den Packages verteilt. Wenn mir dazu was einfällt, werde ich das ggf. schon mal in eine Package tun, damit man es dann einfacher abwählen kann.

Grüße

Adrian
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 834 bytes
Beschreibung: nicht verfügbar
URL         : <https://{'listname': 'franken-dev-freifunk.net', 'hostname': 'lists.freifunk.net'}/pipermail/franken-dev-freifunk.net/attachments/20190725/1ffe2b76/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev