formatierung von massenspeicher
Andre Landwehr
andrel at cybernoia.de
Fri Nov 3 14:58:27 CET 2006
conrad berhörster wrote:
> danke für das script. Hab mittlerweile etwas gelesen. nach dem einbinden des
> scripts, bootet das system nicht mehr. selbst, wenn das script keinen inhalt
> hat, kommt das filesystem im bootvorgang durcheinander und stoppt.
> wenn ich das script komplett lösche, fährt es wieder hoch.
> ok, dachte ich mir, scheint noch ein fehler im script zu sein, aber
> (...)
> soundroom at soundroom:~$ udevtest /block/sdc
> version 050
> looking at '/block/sdc'
> parse error /etc/udev/rules.d/soundroom.rules, line 1:0, rule skipped
> parse error /etc/udev/rules.d/soundroom.rules, line 3:25, rule skipped
> parse error /etc/udev/rules.d/soundroom.rules, line 4:0, rule skipped
> parse error /etc/udev/rules.d/soundroom.rules, line 6:25, rule skipped
> parse error /etc/udev/rules.d/soundroom.rules, line 7:0, rule skipped
> parse error /etc/udev/rules.d/soundroom.rules, line 9:25, rule skipped
> parse error /etc/udev/rules.d/soundroom.rules, line 10:0, rule skipped
> parse error /etc/udev/rules.d/soundroom.rules, line 12:25, rule skipped
> opened class_dev->name='sdc'
> creating device node '/dev/sdc', major = '8', minor = '32', mode = '060660',
> uid = '0', gid = '6'
>
> wo ist denn da der Fehler? Ist es das USB?
ok das Script hat deinen Leser nicht erkannt und udev hat daraufhin ganz
normal /dev/sdc angelegt. Aber warum dein System beim Hochfahren hängt
weiß ich auch nicht.. irgendwelche hilfreichen Meldungen? Hast du das
udev Initscript mal von Hand gestartet, hängt das auch?
> Am Donnerstag 02 November 2006 08:51 schrieb Andre Landwehr:
>> Was du dem sed als Regex geben mußt, hängt natürlich stark von deinem
>> Kartenleser ab. Schau erstmal, ob da überhaupt was sinnvolles in
>> /sys/block/sd[a-z]/model steht für die jeweiligen Slots des Lesers bei
>> dir. Auch für mehrere unterschiedliche Kartenleser wirst du es ggf.
>> aufbohren müssen, und wenn du mehrere gleichzeitig verwenden willst,
>> wirst du auch noch mal an die udev-Regeln ran müssen, die geben das noch
>> nicht her so wie ich sie dir gestern gemailt hatte. Läuft dann drauf
>> raus, in den jeweiligen Regeln für NAME sowas hier anzugeben:
>> NAME="cf%e/disk%n"
>
> Aber doch nur, wenn ich 2 oder mehr Kartenleser des selben typs habe, oder?
> Ich habe so ein 4 in 1 Gerät mit unterschiedlichen.
Nur wenn du 2 Kartenleser gleichen oder auch unterschiedlichen Typs
hast. In deinem Fall, wo du nur einen mit 4 Slots hast, nicht.
> Achja, noch eine Frage: Was ist denn dein IC1210, das Du im sed ersetzt
irgendwelcher Müll halt, der da mit drin steht. Es scheint leider in
keiner Weise genormt zu sein, was die Hersteller in das "model"-Feld
reinschreiben sollen. Ich hab mir das gestern in der Firma auch mal
alles konfiguriert, für den Kartenleser da sieht die Zeile so aus
echo $value | /bin/sed -e 's/USB\ \(.*\)\ Reader/\1/'
weil die Dateien das hier enthalten:
andrel at delle:~$ cat /sys/block/sd*/device/model
USB SD Reader
USB CF Reader
USB SM Reader
USB MS Reader
> In der aktuellen CT ist ein Artikel über den dbus. der klingt auch
> interessant. Mein Szenario ist, das ich dann eine Anwendung schreibe, die
> informiert wird, wenn eine Karte eingesteckt wird. Daher brauche ich keine
> Shell mehr. Aber dazu später mehr.
Du meinst eine Anwendung die ständig läuft und alle paar Sekunden guckt,
ob jetzt eine Karte da ist, um sie dann zu mounten? Wie gesagt, du hast
hardwareseitig keine Chance mitzukriegen, wann eine Karte in einen schon
angeschlossenen Leser reingesteckt wird. Sowas hab ich vor 3 Jahren mal
für ein Embedded-System geschrieben, auf dem ebenfalls ein Message-Bus
lief (Eigenentwicklung, dbus gabs damals noch nicht), auf dem ich die
Nachricht eingetütet habe. Da wurde dann automatisch ein Bildbetrachter
gestartet.
Wenn du so ein Programm schreibst, was die Karte - sobald vorhanden -
automatisch mountet, wie möchtest du dann das unmounten gestalten?
Automatisch geht ja nicht, wenn die Karte raus ist, ist's zu spät...
Für den beschriebenen Fall Bildbetrachter haben wir read-only gemountet
und den (mittlerweile afaik nicht mehr weiterentwickelten) supermount
Kernelpatch verwendet, um die mount-Tabellen sauber zu halten, aber für
read-write ist das ein echtes Problem.
Ich hab mir seinerzeit einige Gedanken darüber gemacht, und bin zu
keiner wirklichen Lösung gekommen. Entweder händisch unmounten, das ist
lästig und führt (da man nicht selbst mountet) dazu, daß man es vergißt
=> Datenverlust. Oder irgendwo ein Icon hinlegen, was bei Klick eine
dbus-Message durch die Gegend schickt, die dein Programm veranlaßt,
unmount aufzurufen. Damit schreibst du letztendlich etwas, was
Umgebungen wie Gnome und KDE schon fertig haben, genau wie Windoof. Was
mir sagt, daß 'ne Menge anderer Menschen auch schon nicht drauf gekommen
sind, wie man es pfiffiger lösen kann, aber vielleicht hast du ja die
zündende Idee... Ansonsten gehts wie gesagt ganz gut mit dem
automounter, der mountet nur bei Bedarf und unmountet eine Sekunde
nachdem das letzte Handle geschlossen wurde.
Andre
--
Andre Landwehr, Ricklinger Stadtweg 42, D-30459 Hannover
Phone: +49-(0)511-1054932, Mobile: +49-(0)175-4648375
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
URL: <http://lug-owl.de/pipermail/linux/attachments/20061103/dd3970c1/attachment.sig>
More information about the Linux
mailing list