Benutzer:Cyrus/Feldversuch:Vorinstallierte Pakete: Unterschied zwischen den Versionen
Cyrus (Diskussion | Beiträge) K (hat „Benutzer:Cyrus/Feldversuch:Vorintegrierte Pakete“ nach „Benutzer:Cyrus/Feldversuch:Vorinstallierte Pakete“ verschoben) |
Cyrus (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 61: | Zeile 61: | ||
none 960.0k 960.0k 0 100% / | none 960.0k 960.0k 0 100% / | ||
</pre> | </pre> | ||
== Versuch 2: Vorinstallierte Pakete == | == Versuch 2: Vorinstallierte Pakete == | ||
Zeile 90: | Zeile 91: | ||
none 2.1M 2.1M 0 100% / | none 2.1M 2.1M 0 100% / | ||
</pre> | </pre> | ||
== Fazit == | == Fazit == | ||
Zeile 95: | Zeile 97: | ||
Wenn man davon ausgeht, dass man nur einen gewissen Teil der Pakete nachträglich aktualisiert, so sollte sich die Nutzung von vorinstallierten Paketen generell auszahlen, besonders in den knapp bemessenen Dimensionen von 4MiB Flashspeicher, die ein Großteil der im Freifunknetz eingesetzten Router bieten. | Wenn man davon ausgeht, dass man nur einen gewissen Teil der Pakete nachträglich aktualisiert, so sollte sich die Nutzung von vorinstallierten Paketen generell auszahlen, besonders in den knapp bemessenen Dimensionen von 4MiB Flashspeicher, die ein Großteil der im Freifunknetz eingesetzten Router bieten. | ||
== tl; dr == | == tl; dr == |
Version vom 10. Februar 2008, 02:28 Uhr
Wie groß ist eigentlich der Unterschied zwischen der Komprimierung von SquashFS und JFFS2? Oder anders formuliert: Bringt es etwas, Pakete bereits in die Firmware-Images vor dem Flashen zu integrieren oder fährt man besser mit einem minimalen Firmware-Image und nachinstallierten Paketen?
Die Freifunk-Firmware ist - wie OpenWRT Whiterussian - nach dem Flashen in 2 Partitionen auf dem Gerät aufgeteilt. Eine dieser Partitionen verwendet das Dateisystem SquashFS, auf diese Partition kann nur lesend zugegriffen werden. Die andere Partition verwendet das Dateisystem JFFS2, auf diese kann sowohl lesend als auch schreibend zugegriffen werden.
Alle Dateien, die vor dem Flashen in die Firmware integriert werden (vorinstallierte Dateien) landen auf der Nur-Lesbaren SquashFS Partition, alle Dateien die nach dem Flashen hinzukommen, werden auf die JFFS2-Partition geschrieben.
Laut OpenWRT-FAQ hat SquashFS eine "slightly better compression ratio" als JFFS2-Partitionen.
Um die Frage nach diesem "slightly" möglichst anschaulich zu klären eignet sich wohl am besten ein Feldversuch anhand eines praktischen, freifunk-alltagstauglichen Beispiels.
Allgemeiner Vergleich - Vorinstallierte Pakete
pro:
- Höhere Kompression = geringerer Platzverbrauch der installierten Pakete
contra:
- Pakete können nach dem Flashen nicht wieder gelöscht werden
d.h.: vorinstallierte Pakete die nach dem Flashen aktualisiert werden, verbrauchen den "doppelten Speicherplatz" - Es muss eine eigenes Firmware-Image gebaut werden, um die Pakete vorzuintegrieren
Ausgangssituation
- Gerät: Linksys WRT54GL (4MB Flash, 16MB RAM)
- Firmware (gewünschtes Endergebnis): Freifunk Leipzig 1.6.10-core-1 + packages-standard-le + openvpn-ssl-nolzo + freifunk-accounting (jeweils + Abhängigkeiten) - dies entspricht einer Leipziger Standardinstallation + OpenVPN Client + Accountingstatistik
- Firmware-Basis: https://dev.leipzig.freifunk.net/svn/firmware/branches/1.6.10-core-1/
- Toolchain: https://dev.leipzig.freifunk.net/svn/firmware/contrib/freifunk-openwrt-kit-1.6.10-de/
- Basispakete: https://dev.leipzig.freifunk.net/svn/firmware/contrib/packages/1.6.10-core-1/
Versuch 1: Nachinstallierte Pakete
- Firmwareimage: 1,4 MiB
- Hinweis: Um vergleichbare Werte für den freien Speicher zu erhalten, wurden nach dem Nachinstallieren der Pakete die heruntergeladenen Paketlisten gelöscht, bevor der freie Speicher ermittelt wurde. (+84kiB freier Speicher)
Paketauswahl (vorinstalliert)
freifunk-botinfo-le_0.1.3_all.ipk freifunk-theme-blue-le_1.0.0_mipsel.ipk libpthread_0.9.27-1_mipsel.ipk freifunk-shlibs-le_0.0.10_mipsel.ipk freifunk-updateagent-le_0.0.1_mipsel.ipk
Paketauswahl (nachträglich über ipkg installiert)
bmxd-0.3-le_alpha-rv972_mipsel.ipk freifunk-secureadmin-de_1.6.25_mipsel.ipk packages-standard-le_0.0.1_mipsel.ipk busybox-awk_1.0.1_mipsel.ipk freifunk-statistics-ng-de-le_0.1.8_mipsel.ipk pmacct_0.11.2_mipsel.ipk busybox-crontab_1.0.1_mipsel.ipk iptables-mod-nat_1.3.3-3_mipsel.ipk rrdcgi1_1.0.50_mipsel.ipk freifunk-accounting-de_1.6.15-2_mipsel.ipk kmod-ipip_2.4.30-brcm_mipsel.ipk rrdcollect_0.2.3-noticks_mipsel.ipk freifunk-bmx-0.3-le_0.0.11_mipsel.ipk kmod-ipt-nat_2.4.30-brcm-5_mipsel.ipk rrdtool1_1.0.50_mipsel.ipk freifunk-dhcpsplash-de-le_1.6.16_mipsel.ipk kmod-tun_2.4.30-brcm_mipsel.ipk xrelayd_0.2-2_mipsel.ipk freifunk-gwtun_0.0.15_mipsel.ipk libpcap_0.9.4-1_mipsel.ipk xyssl_0.8-4_mipsel.ipk freifunk-iptables-missing_1.6.25_mipsel.ipk librrd1_1.0.50_mipsel.ipk zlib_1.2.2-2_mipsel.ipk freifunk-nvbackup-de_0.9.0_mipsel.ipk libssl_0.9.7f_mipsel.ipk freifunk-openwrt-compat_1.6.25_mipsel.ipk openvpn-ssl-nolzo_2.0.5_mipsel.ipk
Speicherplatz Partitionen (df -h)
Filesystem Size Used Available Use% Mounted on /dev/root 960.0k 960.0k 0 100% /rom /dev/mtdblock/4 2.3M 2.0M 300.0k 87% /rom/jffs none 960.0k 960.0k 0 100% /
Versuch 2: Vorinstallierte Pakete
- Firmwareimage: 2,58 MiB
Paketauswahl (vorinstalliert)
bmxd-0.3-le_alpha-rv972_mipsel.ipk freifunk-secureadmin-de_1.6.25_mipsel.ipk librrd1_1.0.50_mipsel.ipk busybox-awk_1.0.1_mipsel.ipk freifunk-shlibs-le_0.0.10_mipsel.ipk libssl_0.9.7f_mipsel.ipk busybox-crontab_1.0.1_mipsel.ipk freifunk-statistics-ng-de-le_0.1.8_mipsel.ipk openvpn-ssl-nolzo_2.0.5_mipsel.ipk freifunk-accounting-de_1.6.15-2_mipsel.ipk freifunk-theme-blue-le_1.0.0_mipsel.ipk packages-standard-le_0.0.1_mipsel.ipk freifunk-bmx-0.3-le_0.0.11_mipsel.ipk freifunk-updateagent-le_0.0.1_mipsel.ipk pmacct_0.11.2_mipsel.ipk freifunk-botinfo-le_0.1.3_all.ipk iptables-mod-nat_1.3.3-3_mipsel.ipk rrdcgi1_1.0.50_mipsel.ipk freifunk-dhcpsplash-de-le_1.6.16_mipsel.ipk kmod-ipip_2.4.30-brcm_mipsel.ipk rrdcollect_0.2.3-noticks_mipsel.ipk freifunk-gwtun_0.0.15_mipsel.ipk kmod-ipt-nat_2.4.30-brcm-5_mipsel.ipk rrdtool1_1.0.50_mipsel.ipk freifunk-iptables-missing_1.6.25_mipsel.ipk kmod-tun_2.4.30-brcm_mipsel.ipk xrelayd_0.2-2_mipsel.ipk freifunk-nvbackup-de_0.9.0_mipsel.ipk libpcap_0.9.4-1_mipsel.ipk xyssl_0.8-4_mipsel.ipk freifunk-openwrt-compat_1.6.25_mipsel.ipk libpthread_0.9.27-1_mipsel.ipk zlib_1.2.2-2_mipsel.ipk
Paketauswahl (nachträglich über ipkg installiert)
-
Speicherplatz Partitionen (df -h)
Filesystem Size Used Available Use% Mounted on /dev/root 2.1M 2.1M 0 100% /rom /dev/mtdblock/4 1.1M 196.0k 956.0k 17% /rom/jffs none 2.1M 2.1M 0 100% /
Fazit
Eine Ersparnis von ~650kiB bei dieser Paketauswahl, ergibt relativ gesehen einen Speichergewinn von knapp 20% (~650 / ~3200) für den für Programme nutzbaren Speicher. Obwohl diese Paketwahl wohl eine recht aussagekräftige sein sollte kann die Differenz bei anderer Paketauswahl entsprechend größer oder kleiner sein.
Wenn man davon ausgeht, dass man nur einen gewissen Teil der Pakete nachträglich aktualisiert, so sollte sich die Nutzung von vorinstallierten Paketen generell auszahlen, besonders in den knapp bemessenen Dimensionen von 4MiB Flashspeicher, die ein Großteil der im Freifunknetz eingesetzten Router bieten.
tl; dr
- Vorinstallierte Pakete: packages-standard-le + openvpn-ssl-nolzo + freifunk-accounting-de = 956kiB freier Speicher
- Nachinstallierte Pakete: packages-standard-le + openvpn-ssl-nolzo + freifunk-accounting-de = 300kiB freier Speicher
- Differenz: ~650kiB = 20% mehr Speicher für Programme