Page 1 of 1

usb automount nur noch für klickibunti ?

Posted: 19. Feb 2009 9:54
by Nippes
Ich habe zwar schon einige Informationen zu meiner Frage gefunden, aber irgendwie noch nicht die Antwort, also versuche ich es hier mal.

Bisher: suse9.3 (kernel 2.6.8...), usb-device stecken, Sekunde warten, taucht auf als /media/usb-... mit nachvollziebarem Namen. Funktionierte immer, unabhängig vom WM, selbst wenn gar kein X lief.

Jetzt: opensuse11.1 (kernel 2.6.27...), usb-device stecken, nichts tut sich.
Schaut man genauer nach, wird ein /dev/sXX angelegt, aber nicht gemountet. Als user kann man auch nicht manuell mounten, weil kein fstab-Eintrag vorhanden ist. Entsprechende fstab-Einträge zu erstellen ist unrealistisch, weil zu häufig verschiedene neue devices zum Einsatz kommen.
Ist man per gnome oder kde eingeloggt, scheinen die WM das mounten zu übernehmen. Dass es nur mit diesen Klickibuntis geht, ist völlig unzureichend.

Wie bekommt man das korrekt funktionelle Verhalten, wie oben für suse9.3 beschrieben, wieder zurück?

Gruß,
Nippes

Posted: 19. Feb 2009 11:38
by Janka
Ab SuSE10 gibt es ein neues, auf UDEV basierendes Automountsystem. Das funktioniert ebenfalls ohne X.

Hast du ein Update gemacht? Wenn ja, schalte den autofs-Automouter ab und nimm seine Einträge aus der /etc/fstab raus. Evtl. behaken sich die beiden Systeme bei dir.

Janka

Posted: 19. Feb 2009 13:07
by Nippes
>Hast du ein Update gemacht?

Nein, komplette Neuinstallation auf neue Partitionen.

Nippes

Posted: 19. Feb 2009 14:34
by Janka

Posted: 19. Feb 2009 15:42
by Nippes
Sieht tatsächlich interessant aus. Nach CD/DVD hatte ich in der SDB noch nicht gesucht. Werde es mal ausprobieren. Wenns klappt müsste man es nur noch in die init-levels einbauen.

Posted: 19. Feb 2009 22:13
by Nippes
ivman tut und tut doch nicht :-(

Konkret: usb-stick und -card-reader werden automountet, usb-Festplatte nicht.
(tats früher)

Nippes

Posted: 20. Feb 2009 0:03
by Nippes
ivman in verbose mode meldet:

ivman: Device /dev/sdd1 won't be mounted because no mount policy was specified on volume or storage device and storage device does not appear to be removable

Posted: 20. Feb 2009 11:10
by Janka
Der ivman ist wohl am Anfang so konfiguriert, dass er nur auf ganzen Devices, nicht auf Partitionen arbeitet. Außerdem scheint da das "Removeable Media"-Flag der Devicenode abgefragt zu werden.

Guck dir mal die Configdateien in /etc/ivman an.

Janka

Posted: 20. Feb 2009 11:44
by Nippes
> Guck dir mal die Configdateien in /etc/ivman an.

Hab ich bereits gemacht. Ich konnte auch eine rule hinzufügen, die die Partitionen der externen HD automountet. Der Haken ist dabei dann aber, dass dann sämtliche, irgendwo im System befindlichen Partitionen aller Betriebssysteme (sind diverse vorhanden) gemountet werden. Das ist auch nicht Sinn der Sache; es sollten nur usb-HDs automountet werden.

Mit lshal sieht man die hal-Eigenschaften der internen und externen HDs. Davon wählt man eine geeignete aus, auf die man halmount triggert. Das Problem ist nun, dass nur an den Device-, nicht den Partitionseigenschaften ersichtlich ist, ob es sich um eine an usb gesteckte HD, oder um eine interne scsi/ide handelt.

Ich habe jetzt mal ivman-rules eingefügt, die halmount auf /dev/sde[1-10], /dev/sdf[1-10], /dev/sdg[1-10] triggern (bis sdd ist intern belegt). Das funktioniert zwar, scheint mir aber eine ziemliche Krücke zu sein, zumindest ist mir nicht wohl dabei.

Nun muss ich noch udev dazu bringen, dass er für das mount-dir unabhängig vom fs mode 775 setzt, nicht nur bei ext2/ext3.


Erstmal Danke! für den Hinweis auf ivman. Auch wenn das ganze gegenüber der früheren Situation (suse9.2) noch immer unzufriedenstellend ist, hat es mich immerhin einen Schritt weiter gebracht.

Nippes

Posted: 20. Feb 2009 12:33
by Janka
Nippes wrote: Ich habe jetzt mal ivman-rules eingefügt, die halmount auf /dev/sde[1-10], /dev/sdf[1-10], /dev/sdg[1-10] triggern (bis sdd ist intern belegt). Das funktioniert zwar, scheint mir aber eine ziemliche Krücke zu sein, zumindest ist mir nicht wohl dabei.
Ich habe hier Udev-Regeln selbst geschrieben, mit denen ich passende Syslinks erzeuge, wenn mein Cardreader angeschlossen wird.

Code: Select all

# SD slot and card
KERNEL=="sd*", ATTRS{model}=="*[Ss][Dd]*[Rr]eader*", SYMLINK+="cardreader/sd%n"

# CF slot and card
KERNEL=="sd*", ATTRS{model}=="*[Cc][Ff]*[Rr]eader*", SYMLINK+="cardreader/cf%n"

# SM slot and card
KERNEL=="sd*", ATTRS{model}=="*[Ss][Mm]*[Rr]eader*", SYMLINK+="cardreader/sm%n"

# MS slot and card
KERNEL=="sd*", ATTRS{model}=="*[Mm][Ss]*[Rr]eader*", SYMLINK+="cardreader/ms%n"
Damit bastelt der hier Symlinks von /dev/cardreader/cf ->/dev/sdd, /dev/cardreader/cf1-> /dev/sdd1 etc., sobald ein "sd"-Gerät angeschlossen wird, dessen "Model"-Attribut "CF USB Card Reader" oder so ähnlich enthält. Und für die anderen Slots entsprechend. Das sollte mit deiner Festplatte/Stick auch zu machen sein.
Nun muss ich noch udev dazu bringen, dass er für das mount-dir unabhängig vom fs mode 775 setzt, nicht nur bei ext2/ext3.
Das ist eine Mountoption für FAT und andere Dateisysteme, die keine Rechte kennen. Muss auch ivman machen.

Janka

Posted: 20. Feb 2009 13:22
by Nippes
Janka wrote: Ich habe hier Udev-Regeln selbst geschrieben, mit denen ich passende Syslinks erzeuge, wenn mein Cardreader angeschlossen wird.

Code: Select all

# SD slot and card
KERNEL=="sd*", ATTRS{model}=="*[Ss][Dd]*[Rr]eader*", SYMLINK+="cardreader/sd%n"

# CF slot and card
KERNEL=="sd*", ATTRS{model}=="*[Cc][Ff]*[Rr]eader*", SYMLINK+="cardreader/cf%n"

# SM slot and card
KERNEL=="sd*", ATTRS{model}=="*[Ss][Mm]*[Rr]eader*", SYMLINK+="cardreader/sm%n"

# MS slot and card
KERNEL=="sd*", ATTRS{model}=="*[Mm][Ss]*[Rr]eader*", SYMLINK+="cardreader/ms%n"
Damit bastelt der hier Symlinks von /dev/cardreader/cf ->/dev/sdd, /dev/cardreader/cf1-> /dev/sdd1 etc., sobald ein "sd"-Gerät angeschlossen wird, dessen "Model"-Attribut "CF USB Card Reader" oder so ähnlich enthält. Und für die anderen Slots entsprechend. Das sollte mit deiner Festplatte/Stick auch zu machen sein.
Das halte ich nicht für einen gangbaren Weg, da ständig neue Karten, sticks, Platten, Kameras, ... angeschlossen werden. Das muss schon universell funktionieren.
Nun muss ich noch udev dazu bringen, dass er für das mount-dir unabhängig vom fs mode 775 setzt, nicht nur bei ext2/ext3.
Das ist eine Mountoption für FAT und andere Dateisysteme, die keine Rechte kennen. Muss auch ivman machen.
Ich dachte, udev legt die Zugriffsrechte fest, oder zumindest hal, nicht ivman.


Ich komme immer mehr zu dem Schluss, udev raus zu werfen. Das hat schon im suse9.2 reichlich Ärger bereitet, wo es ja nicht mal als automounter tätig war.

Posted: 03. Mar 2009 23:26
by Nippes
Leider haut es mit ivman als daemon nicht hin. Man muss es vom userspace aus starten. Ist nur halbwegs zufrieden stellend.

Dazu braucht man auch geeignete rules für udev. Mühsam zu erstellen, aber möglich.

Im Gegensatz zur Empfehlung in der SDB (http://en.opensuse.org/SDB:Automount_CD/DVD_with_ivman), sollte man ivman-launch aber nicht in die .xinitrc schreiben. Dann läuft der ivman nach dem Abmelden weiter. Also besser in die rc vom WM schreiben. In FVWM z.B.:

~/.fvwm2rc: --------------------------------
...
# run FvwmTheme before anything else is done
ModuleSynchronous Timeout 5 FvwmTheme
Exec /usr/bin/ivman-launch
...

...
AddToFunc ExitFunction
...
+ "I" Exec /usr/bin/pkill ivman
...
--------------------------------

Ob diese Lösung optimal ist, will ich nicht behaupten, aber es tut :-)

Gruß,
Nippes