Weiß jemand wie das bei dem Imagebrenner Plugin mit den Partitionen bei unterschiedlichen größen der Quel- und Zielmedien ist?
Was passiert wenn das Zielmedium größer ist als das Quellmedium, werden die Partitionsgrößen proportional angepasst oder 1:1 übernommen?
Und was passiert wenn das Zielmedium kleiner ist?
Damit meine ich nicht das evtl. das Quellmedium 8Gb und das Zielmedium 4GB ist, ich habe festgestellt das es selbst bei absolut identischen Medien (Hersteller und Größe) zu Unterschieden in der Größe kommen kann (von einigen Bytes bis mehreren kBytes).
Das führt beim DD Befehl auf jeden Fall zu Probleme.
Und wie wird mit Imagebrenner kopiert, alle Datenblöcke 1:1 (DD) oder werden die Partitionen erstell und nur die Nutzdaten kopiert?
Beim Block kopieren würde der Kopiervorgang auch sehr lange dauern, da auch leere Bereiche kopiert werden.
das Plugin kopiert 1:1 mit dd (genauer dcfldd) die Daten auf das Zielmedium, das immer kleiner sein muss als das Quellmedium. Beim Erstellen eines Images ist es daher wichtig möglichst nicht von einer expandierten SD-Karte zu lesen (d.h. die Partitionen sollten so klein wie möglich sein). Dadurch bleibt die Imagedatei klein und der Schreibvorgang wird entsprechend schnell abgeschlossen. Damit ist auch die Zielmediengröße kein Problem mehr. Sollten auf dem Zielmedium Daten gefunden werden, werden diese vor dem Brennen komplett mit 0 überschrieben.
Bsp: unser Max2Play Image ist so erstellt, dass es auf jede 4GB SD-Karte passt. Beim Einlesen dieses Images ist das Imagefile nur ~1.2GB groß. Das Brennen mit einem Raspberry Pi 2 und 9 SD-Karten gleichzeitig dauert ~6 Minuten. Die Karten werden dann beim ersten Startvorgang automatisch expandiert (lässt sich mit einem Schalter in der /boot/config.txt deaktivieren).
Das Problem besteht also darin, vor dem Einlesen eines Imagefiles ein möglichst kompaktes Image zu erstellen. Da die Verkleinerung einer Partition wesentlich schwieriger ist als das Vergrößern, ist es am einfachsten ein vorgefertigtes Image (z.B. Raspbian Versionen / Max2Play / etc.) nur so weit zu Vergrößern, dass alle benötigten Daten darauf passen und dieses dann als Quelle zu verwenden.