Hallo, Am Die, 17 Okt 2006, Al Bogner schrieb:
Am Dienstag, 17. Oktober 2006 00:49 schrieb David Haller:
Am Die, 17 Okt 2006, Al Bogner schrieb:
Am Montag, 16. Oktober 2006 19:47 schrieb Al Bogner:
Zur Identifikation des Sticks könnte eventuell lshal hilfreich sein. Ich weis aber nicht, wie man "usb_device.serial" auf /dev/sdx umlegt.
Ich denke, ich habe die Lösung für den ersten Teil:
fdisk -l | grep /dev/sd | grep -v "Disk" | cut -c1-8 | xargs \ -r -n1 udevinfo -q env -n | grep "ID_SERIAL"
ID_SERIAL=Hama_CardReaderMMC.SD_ABCD12xxxxxx ID_SERIAL=SWISSBIT_Twist_40479E4643xxxxxx
Die Frage ist nun, wie ich möglichst effizient alle Devices scanne und unter der Bedingung "ID_SERIAL=SWISSBIT_Twist_40479E4643xxxxxx" weitere Befehle ausführe.
for d in `fdisk -l | awk '/^\/dev\/sd/ { print $1; }'`; do eval `udevinfo -q env -n "$d" | grep 'ID_SERIAL'`
Fuer den ersten Teil solltest du wohl den Vorschlag von Andreas uebernehmen, AFAIK muesste das Script die ID_SERIAL per Umgebung bekommen. Mach zu Andreas' Vorschlag ein Testscript, das ID_SERIAL ausgibt.
case "$ID_SERIAL" in Hama_CardReaderMMC.SD_ABCD12xxxxxx) : machwas mit dem Hama ;; SWISSBIT_Twist_40479E4643xxxxxx) : machwas mit dem Swissbit ;; esac done
Wenn die "machwas" mehr als 2-4 Zeilen gross werden ist es sinnvoll, diese in eine Funktion auszulagern.
[..] machwas wird vermutlich länger werden, bis auf das exit, falls kein bekannter Stick vorhanden ist. Ich denke ich schreibe einfach eine Bedinung rein und wie die erfüllt ist wird später der Stick mit bestimmten Daten beschrieben. Das Partitionieren bzw. Formatieren sollte immer ident sein, nur eben die Größe der Sticks ist unterschiedlich. Wenn kein Stick erkannt wurde, wird das Script beendet.
Ich frage mich zur Zeit, wie ich formatieren soll. Mit parted oder fdisk?
Weder noch. sfdisk ist darauf angelegt nicht-interaktiv verwendet zu werden.
Ich bin mir nur nicht klar, wie ich das mache, ohne eine Datei anzulegen.
man sfdisk ;)
Da Testen als root mit Partitonieren nicht ungefährlich ist, suche ich nach Beispielen, was ich da genau als Text übergeben muss.
Remounte die Partitionen ro und mach ein 'chmod a-w' auf die Festplattendevices /dev/hd*.
Es wurde jedenfalls mit badblocks vorher "gelöscht", sodass keine Partitionstabelle vorhanden ist.
ein 'dd if=/dev/zero' auf die ersten MB sollte reichen. Oder willst du gleich noch auf Defekte testen? -dnh -- 163: SMD Schwer Montierbare Dinger (Holger Köpke)