CIFS mount über systemd mount unit geht nicht :-(

  • Ich verzweifle ziemlich daran eine Netzwerkfreigabe beim Booten in die Dreambox 7080HD zu mounten. Früher habe ich einfach ein kleines Script nach /etc/rc3.d getan und die Sache war erledigt. Da jetzt alles systemd basiert ist, ist wohl eine systemd mount unit das richtige...


    Ich habe also eine /etc/systemd/system/media-hdd.mount erstellt die definiert was wohin (=> /media/hdd) gemounted wird.
    Diese Mount unit funktioniert einwandfrei wenn ich sie per SSH bei gestarteter box starte (systemctl start media-hdd.mount).


    Möchte ich sie jedoch beim booten gestartet haben (was ja der Sinn des ganzen ist, aktiviert mit systemctl enable media-hdd.mount) erhalte ich immer

    Zitat

    Jun 15 23:01:42 dm7080 systemd[1]: media-hdd.mount mount process exited, code=exited status=32
    Jun 15 23:01:42 dm7080 systemd[1]: Failed to mount Mount Share at boot.



    und im dmesg steht:

    Zitat

    [ 5.604000] CIFS VFS: Error connecting to socket. Aborting operation
    [ 5.605000] CIFS VFS: cifs_mount failed w/return code = -128


    Ich würde das "error connecting to socket" so interpretieren dass das Netzwerk (ich benutze DHCP) noch nicht bereit ist.
    Ich habe 3 verschiedene Varianten des File ausprbiert, mit diversen Varianten bei Before, After, WantedBy aber nichts hat geholfen. Fehler bleibt immer identisch.


    Versuch #1:


    Versuch #2:


    Versuch #3:

    Einmal editiert, zuletzt von anybody ()

  • Das ist auch Blödsinn wie du es probiert hast, das geht jetzt ganz normal über die fstab, lies mal ab hier was Ghost geschrieben hat:


    Neustart dauert Ewig....

    Einmal editiert, zuletzt von Lost in Translation ()

  • In dem Thread steht auch wie man den Automounter richtig verwendet ...


    Aber es führen viele Wege zum Mount, nur eben nicht ein script wenn man nicht genau weis wie man das macht. Und wozu gibt es eben fertige Funktionen dafür....

  • Das ist auch Blödsinn wie du es probiert hast, das geht jetzt ganz normal über die fstab, lies mal ab hier was Ghost geschrieben hat:


    Neustart dauert Ewig....


    Danke. die hier verlinkte Antwort wie das geht ist sehr gut.

    Code
    //192.168.2.21/data     /media/PENNY    cifs    x-systemd.automount,rsize=8192,noauto,wsize=8192,rw,username=username,password=password,nofail  0       0


    => ausprobiert, diese fstab Methode geht perfekt!


    Hilft mir aber leider bei meinem konkreten Problem nicht so viel weiter. Mein Script was die Festplatte mounted holt sich nämlich auch per wget von einem zentralen Server die Kanalliste beim booten (Kanalliste editieren ist sooo nervig, also mache ich es lieber 1x für alle als 10x für jeden einzeln).


    Ich brauche also weiterhin eine Möglichkeit um das Script zu starten
    SOBALD netzwerk verfügbar und funktionsfähig ist
    aber VOR enigma2 (sonst kann ich die Kanalliste ja nicht mehr austauschen weil er sie schon geladen hat).


    Früher ging das ganz einfach in /etc/rc3.d/ :frowning_face:

    Einmal editiert, zuletzt von anybody ()

  • jetzt geht es noch einfacher. Schau dir mal das service file zum enigma2 pre service an das lauft punktgenau zum fraglichen zeitpunkt. wenn du faul bist schreibst du es dort ins script dazu, was dann aber nicht updatesicher ist. Oder du benutzt es als beispiel fuer dein eigenes.


    Und natuerlich kann man kanallisten auch bei laufendem enigma2 tauschen und neu laden aber das ist eine andere Geschichte ...

  • aber VOR enigma2 (sonst kann ich die Kanalliste ja nicht mehr austauschen weil er sie schon geladen hat).


    wenn es nur daran scheitern sollte: -> reload lamedb or Userbouquets


    das läd die Senderliste neu, ohne das E2 neu gestartet werden muss. Allerdings muss Enigma2 beim Absetzen des Befehles bereits laufen, weil das Web-IF dafür erreichbar sein muss. Das kann man beim booten einfach per script überprüfen (cronjob etc.)

    Gruß Fred

    Die Dreambox ist tot, es lebe die Dreambox

  • Und noch zum Thema Scripts zur rechten Zeit das angesprochene Beispiel:



    Nett wäre es wenn enigma2 am Ende noch den Hook für eigene Pre-Scripts aus dem OE 2.0 in das Script dazu machen würde:


    Code
    # hook to execute scripts always before enigma2 start
    for i in `ls /usr/bin/enigma2_pre_start*.sh 2> /dev/null`; do
        	[ -x $i ] && $i || /bin/true
    done


    Aber wenn du dann blöde bist und ein script machst das hängenbleibt bist du selber Schuld :wacko:

  • Aber wenn du dann blöde bist und ein script machst das hängenbleibt bist du selber Schuld :wacko:


    *unglaublichdiesearroganz*


    da haben andere schon wegen weniger eine Schreibsperre verpasst bekommen - bei dir ist die längst überfällig, nicht nur in diesem Board

    Gruß Fred

    Die Dreambox ist tot, es lebe die Dreambox

  • Zitat

    Ich kann gerne auch wieder mal das Sommerloch einkehren lassen :face_with_rolling_eyes:

  • Ich bitte darum - kann aber auch gerne bis zum Herbst andauern ...


    Umso besser, wenn du dir selbst eine Schreibsperre verpassen willst

    Gruß Fred

    Die Dreambox ist tot, es lebe die Dreambox

  • :kissing_face: :smiling_face_with_horns: Wenn du es den Leuten erklaerst das Sie dann keine Hilfe, Bugfixes, Updates und Support fuer neue Boxen bekommen ... Gerne

  • Warum sollte ich irgendjemanden etwas erklären, nur weil du rumzickst? Du schiebst ja auch beim BA OE2.0 Desaster einen User den schwarzen Peter zu, weil du nicht kritikfähig bist. Aber anstatt zu drohen und wie ein trotziges Kind auf den Boden zu stampfen könntest du einfach mal deinen Ton mäßigen und aufhören andere zu beleidigen. Wie wäre es mal zur Abwechlsung damit?

    Gruß Fred

    Die Dreambox ist tot, es lebe die Dreambox

  • Ich habe hier im thread nicht mit dem rumzicken angefangen, falls du das nicht merkst. Und wenn jemand den Briten die Konsequenzen ihres Tuns sachlich erklärt haette wären die Miliarden die durch ihre Entscheidung vernichtet wurden noch da. Und in dem von dir genannten Fall ging es um dFlash, wo nach 2 Jahren noch immer kein eigenstaendiger Ersatz existiert, obwohl ich bereits bevor es eingestellt wurde alle Sourcen offen gelegt habe ....

    2 Mal editiert, zuletzt von Lost in Translation ()

  • Und noch zum Thema Scripts zur rechten Zeit das angesprochene Beispiel:
    /lib/systemd/system/enigma2-environment.service


    Habe es jetzt noch mit einem Script in diesem Stil probiert.



    Geht leider auch nicht. Läuft zu einem Zeitpunkt wo das Netzwerk noch nicht einsatzbereit ist, jedenfalls beim Betrieb mit DHCP. Ist vielleicht mit fixer IP anders.
    Meine Lösung ist nun in meinem Script folgendes zu haben bevor es losgeht mit dem wget download meiner Kanalliste:



    Allein mit systemd service einstellungen habe ich es - trotzt unendlicher Versuche - nicht lösen können.
    Bei den "echten" Betriebssystemen gibt es ja systemd-networkd-wait-online.service, das hat die Dreambox leider nicht.


    Ich kann mit meinem Workaround jetzt schon gut leben. Aber irgendwie trotzdem halt schon ein seltsamer Workaround.

  • Ich meinte, networkd-wait-online gäbe es auch. Aber funktionieren tut das trotzdem nicht. Ich hab bei mir einfach ein sleep 5 oder so reingenommen. Das passt dann. Netzwerk ist bis dann jeweils online.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Kann ich nicht bestätigen dass es da ein wait gibt.


    Zitat

    find / -iname "*.service" | grep -i "wait"


    Findet bei mir nichts. Ich habe momentan allerdings ein anderes Image ("neues enigma 2" :winking_face: und nicht das DM7080HD experimental.

  • Da gibt es eigentlich genug Beispiele ... und ein wait ist dann auch nicht nötig.


    Einmal editiert, zuletzt von Lost in Translation ()

  • Bei network.target bist du aber auch noch nicht online. Hatte ich auch schon versucht.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource