usb automount nur noch für klickibunti ?

Post Reply
Message
Author
Nippes

usb automount nur noch für klickibunti ?

#1 Post 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

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#2 Post 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
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Nippes

#3 Post by Nippes »

>Hast du ein Update gemacht?

Nein, komplette Neuinstallation auf neue Partitionen.

Nippes

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#4 Post by Janka »

Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Nippes

#5 Post 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.

Nippes

#6 Post by Nippes »

ivman tut und tut doch nicht :-(

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

Nippes

Nippes

#7 Post 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

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#8 Post 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
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Nippes

#9 Post 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

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#10 Post 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
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Nippes

#11 Post 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.

Nippes

#12 Post 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

Post Reply