Wieso Brandings weglassen manchmal nicht viel bringt
@Hermann: Magischer Wert? Na ja, wie man es nimmt 5376 = 21 * 256, das ist also ein Vielfaches der Kernel-Blockgröße. Und um den Wert wird Dein Image eben insgesamt zu groß. Übrigens hätten eine genaue Fehlermeldung und ein angehängtes Log mit Verbosity Level 2 vom
make auch geholfen zu sehen, was da genau zu groß wird. Wenn Du es ganz genau wissen willst, hängst Du an die erste Zeile von
fwmod sogar noch ein
-x an, damit du jeden Shell-Befehl protokolliert bekommst.
Davon abgesehen, werden abgewählte Brandings gelöscht, wie Du in
build/modified/filesystem sehen kannst. Es fällt u.U. nur nicht bei der Image-Größe ins Gewicht, denn bei einer Dateisystem-Blockgröße von 64 KB und einem komprimierten Dateisystem wie
SquashFS merkst Du keinen Unterschied, wenn das Weggelassene LZMA-komprimiert weniger als diese 64 KB ausmacht. Ich habe mal spaßeshalber einen Test für die 29.04.29 gemacht:
Code:
$ cd build/original/filesystem/etc/default.Fritz_Box_7170_26
$ tar cvf test.tar avm freenet
(...)
$ lzma e test.tar test.tar.lzma
$ ls -l test*
-rw-r--r-- 1 ubuntu ubuntu 337920 2007-04-11 19:24 test.tar
-rw-r--r-- 1 ubuntu ubuntu 17274 2007-04-11 19:25 test.tar.lzma
Du siehst: Zwar sparst Du ohne die zwei abgewählten Brandings 330 KB Dateigröße ein, aber unter Berücksichtigung der LZMA-Komprimierung sind es gerade mal 16,8 KB, also gerade mal ein Viertel der Blockgröße. Da braucht man sich also nicht zu wundern, daß das in Deinem Fall nichts ausmacht. Die eingesparten Dateien sind größtenteils Textdateien, und die sind sowieso gut komprimierbar. Darüber hinaus komprimiert
lzma sowieso nochmal deutlich besser als
bzip2, in diesem Beispiel >21% (habe ich auch probiert).
Fazit: Ja, probiere weniger Pakete. Gestrippte Binaries machen gleich viel mehr aus als Textdateien, sie sind nicht oder kaum komprimierbar. ;-)
Edit (12.04.2007, 20:30): Laut olistudent (zurück aus dem Urlaub) erkennt SquashFS außerdem wohl noch identische Dateien und komprimiert daher noch besser als ohnehin schon beschrieben.
Edit 2: Als Checksummen-Algorithmus für die Doubletten-Prüfung wird übrigens "BSD sum" verwendet, also das, was auch das UNIX-Tool
sum standardmäßig ausgibt. Das ist eine Art 16-Bit-CRC.