uam-mount: USB-Stick wird nicht gemounted

  • Ich beiße mir die Zähne aus. uam-mount sollte USB-Sticks unterhalb /media automatisch in passendes Verzeichnis mounten.
    Das klappt wohl auch, zumindest habe ich das durch ein wenig debugging ausprobiert. Irgendetwas scheint den Stick dann aber wieder zu unmounten. Und da komme ich nicht weiter, weil ich nicht weiß, wo ich suchen soll.


    syslog:


    Ich habe in /lib/udev/uam/uam-mount.sh 'hook_exec post-mount' noch ein 'ls -al /media/VIDEOS >> /tmp/mount' eingefügt. Der Stick ist zu diesem Zeitpunkt eingehängt. Im syslog finde ich keine Anhaltspunkte, wann und durch wen der Stick dann wieder ausgehängt wird. Ich habe in meiner Verzweiflung sogar schon /bin/umount umbenannt... ohne Erfolg.


    Wenn ich 'uam-mount.sh /dev/sdb' aufrufe, wird der Stick eingehängt und bleibt das auch nach Beendigung.


    Kann es an irgendwelchen Rechten oder Umgebungsvariablen liegen, wenn das script nicht als root, sondern von udev aufgerufen wird?


    Christian

  • Das sieht für mich recht sauber aus:



  • Code
    1. DEVNAME=/dev/sdb
    2. DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-8/3-8:1.0/host21/target21:0:0/21:0:0:0/block/sdb
    3. DEVTYPE=disk


    Kann es ein, dass der Stick gar nicht pationiert, bzw. formatiert ist?


    Denn normalerweise sollte dort so etwas stehen wie:


    ....target21:0:0/21:0:0:0/block/sdb/sdb1

  • In der Tat erscheint der Stick nur als sdb:


    Code
    1. vdr ~ # ll /dev/sd*
    2. brw-rw---- 1 root disk 8, 0 3. Feb 00:26 /dev/sda
    3. brw-rw---- 1 root disk 8, 1 3. Feb 00:26 /dev/sda1
    4. brw-rw---- 1 root disk 8, 2 3. Feb 00:26 /dev/sda2
    5. brw-rw---- 1 root disk 8, 3 3. Feb 00:26 /dev/sda3
    6. brw-rw---- 1 root disk 8, 16 3. Feb 00:26 /dev/sdb


    Das hindert das uam-script aber nicht daran, sdb zu mounten, wie das zu debug-Zwecken eingeschobene 'ls' bewiesen hat. Auch manuell kann ich mounten, ebenso wie per '/lib/udev/uam/uam-mount.sh /dev/sdb' als root.


    Christian

  • Habe ich probiert, kein Effekt.


    Ich habe kapituliert und eine andere Lösung gefunden.


    udev legt nun einen symlink nach /dev/removable und startet eine .mount-unit via systemd.


    Klappt, zumindest für ein einzelnes USB-Gerät. Das reicht für meine Zwecke.


    Danke trotzdem für's Helfen.


    Christian

  • Da du ja unter Gentoo sowieso Systemd benutzt, kannst du das auch gleich für das Automount hernehmen:
    https://ddumont.wordpress.com/…usb-devices-with-systemd/


    Alternativ sollte es auch mit Udev problemlos gehen:
    https://www.axllent.org/docs/view/auto-mounting-usb-storage/


    Sinnvoll ist es vermutlich in beiden Fällen, für die einzelnen Partitionen Labels zu verwenden, die du dann entweder in Udev oder mit Systemd in der fstab adressieren kannst.

  • Die Seiten hatte ich teilweise gesehen. Ich habe das jetzt so gelöst:


    /etc/udev/rules.d/70-usbdrive.rules


    Das erstellt erstmal einen festen symlink bei passenden Dateisystemen und Rahmenbedingungen. Klappt nur, wenn nicht 2 Stickst gesteckt werden. Damit kann ich umgehen. Sicherlich gibt es Optimierungsmöglichkeiten.
    Zusätzlich wird systemd informiert, dev-removable.device zu erstellen und media.mount zu starten:


    /etc/systemd/system/media.mount

    Code
    1. [Unit]
    2. Requisite=dev-removable.device
    3. [Mount]
    4. What=/dev/removable
    5. Where=/media
    6. Options=nofail,defaults,ro


    Ich glaube, mehr war das gar nicht. in /etc/fstab ist nichts eingetragen. Damit hatte ich das Problem, daß ein 'ls /media' hängen blieb, wenn kein Stick eingesteckt ist.


    Christian