Ärger mit CF-Images

04/07/2014 - 22:48 von Bernd Hohmann | Report spam
Ich hab hier für Sonderaufgaben kleine Thin-Client Kisten im Einsatz die
von einer CF-Karte gebootet werden.

Nach der Installation hab ich mit "dd" die CF-Karten abgezogen und wenn
da mal eine kaputt geht, kopiere ich das Image mit dd auf eine neue
Karte gleicher Größe, Briefumschlag, fertig.

Dabei ist mir aufgefallen, dass bei vielen Karten beim Rückkopieren am
Ende ein Fehler auftritt weil das Image einen Block (vermutlich 512b)
größer ist als die Karte umfasst. Da "hinten" eh nur Swap ist und der
nicht wirklich gebraucht wird, störte das nie.

Jetzt wollte ich das aber mal ordentlich machen: Image als Loopdevice
mounten, mit gparted hinten Luft schaffen und das Image um paar Blocks
truncaten.

Pustekuchen: gparted findet zwar die beiden Partitionen, beschwert sich
aber über fehlende Superblocks. Wenn ich das Image auf die CF kopiere
und mounte, sagt mir "fsck /dev/sdb1" dass alles OK ist und ich kann von
der CF booten - gparted sagt auf dem Medium aber "can't have a partition
outside disk!"

Wie bekomme ich das mal "ordentlich"?

Bernd
 

Lesen sie die antworten

#1 Ansgar Strickerschmidt
07/07/2014 - 09:27 | Warnen spam
Also schrieb Bernd Hohmann:

Ich hab hier für Sonderaufgaben kleine Thin-Client Kisten im Einsatz die
von einer CF-Karte gebootet werden.

Nach der Installation hab ich mit "dd" die CF-Karten abgezogen und wenn
da mal eine kaputt geht, kopiere ich das Image mit dd auf eine neue
Karte gleicher Größe, Briefumschlag, fertig.

Dabei ist mir aufgefallen, dass bei vielen Karten beim Rückkopieren am
Ende ein Fehler auftritt weil das Image einen Block (vermutlich 512b)
größer ist als die Karte umfasst. Da "hinten" eh nur Swap ist und der
nicht wirklich gebraucht wird, störte das nie.

Jetzt wollte ich das aber mal ordentlich machen: Image als Loopdevice
mounten, mit gparted hinten Luft schaffen und das Image um paar Blocks
truncaten.

Pustekuchen: gparted findet zwar die beiden Partitionen, beschwert sich
aber über fehlende Superblocks. Wenn ich das Image auf die CF kopiere
und mounte, sagt mir "fsck /dev/sdb1" dass alles OK ist und ich kann von
der CF booten - gparted sagt auf dem Medium aber "can't have a partition
outside disk!"

Wie bekomme ich das mal "ordentlich"?



Ich würde mir ein Skript bauen, das vorne die wichtige(n) Partition(en)
drauf-"dd"-t und anschließend den *verbleibenden freien Platz hintendran*
mit passend parametrierten fdisk- und mkswap-Aufrufen zu Swapspace macht.
Dann ist die Größe hintenraus dynamisch.

Ceterum censeo... dass eine Swap-Partition auf einer CF-Karte ein
ziemlicher Kartenkiller sein dürfte. Ich würde das nicht machen, sondern
bei den beteiligten Rechnern (soweit möglich) für genug RAM für alle
Eventualitàten sorgen... ja, das geht; Embedded-Geràtschaften kriegen das
auch hin...

Ansgar

*** Musik! ***

Ähnliche fragen