
Ich versuche, eine narrensichere Lösung zu finden, um mithilfe von DD ein Bild auf eine Speicherkarte zu schreiben.
Idee: Ich möchte ein Skript auf dem System platzieren, das andere ausführen können, ohne Kenntnisse über das Schreiben von Bildern zu haben.
Die Größe des Bildes kann sich ändern, daher muss vorab eine Abfrage ausgeführt werden, um die Größe zu bestimmen.
isoinfo -d -i /media/usb/image.iso | grep -i -E 'block size|volume size' | sed 's/^.*is: \(.*\)/\1/'
um die Zahlen für Block- und Volumegröße zu erhalten. Jetzt muss ich die Werte in den folgenden Code einbauen
dd if=/media/usb/image.iso of=/dev/sdc bs=2048 count=96053 status=progress
Ich habe versucht, dies durch automatisches Ausfüllen von bs= und count= zu lösen, kann jedoch nicht herausfinden, wie ich die Ausgabe des ersten Codeteils erfassen und verarbeiten kann.
Ich habe xargs ausprobiert, aber das hat mir nicht viel geholfen. Ich hoffe, Sie haben eine Lösung für mich.
Grüße Jan
Antwort1
bs
Sie müssen und nicht count
auf bestimmte Werte setzen, wenn Sie das gesamte Image zum Ziel kopieren möchten. Stellen Sie einfach sicher, dass die Blockgröße groß genug gewählt ist, um einen schnellen Kopiervorgang zu gewährleisten, wie bs=16M
. Ohne dass count
die gesamte Eingabe kopiert wird, z. B.
dd if=/media/usb/image.iso of=/dev/sdc bs=16M status=progress