Optware Init-Skripte nach Booten starten

Nach dem ich Optware über QPKG Center installiert hatte, musste ich feststellen, dass auch wenn die Vielfalt an Paketen groß ist. Die installierbaren Service (Daemons) nach dem Booten nicht ausgeführt werden. Da nur die Skripte innerhalb des Verzeichnisses „/etc/init.d“, nicht aber die in „/opt/etc/init.d“ gestartet werden. Mag sein, dass dies an meinem QNAPS liegt, aber alle die die das gleiche Problem haben, hier meine Lösung:

Beim QNAP wird nach dem Systemstart eine Datei mit dem Namen „autorun.sh“ ausgeführt. Bei einer Standard Installation ist die Datei noch nicht vorhanden, und muss erst angelegt werden. Die Datei liegt nicht einfach, innerhalb des Dateisystems, sondern muss in einem gesonderten Bereich erstellt werden, der sich für die verschiedenen Modelle unterscheidet:

  • /dev/mtdblock4  für TS-201
  • /dev/mtdblock5  für TS-109, TS-109P, TS-112, TS-119, TS-209, TS-209P, TS-219, TS-409
  • /dev/sdx6  für TS-259, TS-439, TS-509, TS-639, TS-809, TS-809U, TS-879, TS-469

(Quelle: QNAPedia Community Wiki)

Der Zugriff auf diesen Speicher ist bei allen Modellen identisch, lediglich der Device-Name muss entsprechend ausgetauscht werden. Da ich ein TS-112 verwende, hier auch der entsprechende Zugriff auf diese. Zuerst den Speicher mounten:

Anschließend die Datei „autorun.sh“ öffnen bzw. neu erstellen:

Da ich hier nicht jedes Init-Skript einzeln aufrufen, bzw. bei jeder weiteren Installation eines Qptware-Paket dies Modifizieren möchte, erstelle ich hier ein Script, das die  Init-Skripte im Verzeichnis „/opt/etc/init.d“ verwendet. Zusätzlich werden die Stop-Skripte in „/etc/rcK.d“ erstellt. Dieses „autorun.sh“ Skript lautet wie folgt:

(Inspiration aus: QNAP Club)

Den Inhalt in die „autorun.sh“ Datei kopieren und diese speichern. Anschließend muss diese Datei noch ausführbar gemacht werden:

Das Laufwerk kann nun ausgehängt werden:

Nach einem Neustart sollten dann auch die Optware Dienste gestartet sein.

 

Comments

  • Wonderfull how to, many may thanks for it and for the english translated version which is very much better that the German version translated by google…got Airprint working on my TS-469 Pro and HP 2605, but, the autorun.sh „method“ cannot be used con TS-469 Pro Nas…the official wiki page does not mention at all this model…there is any workaround? It is quite annoying to stop default CUPS, start the new one and execute the init script X30airprint.sh at every reboot…thanks again!

    Stayhsf2. Mai 2013
  • autostart.sh method works on TS-469 Pro mounting on Ext2 /dev/sdx6 but…it does not work, after a reboot if I visit http://ip_nas:631 I get a forbidden error. I have to manually execute the init script X30airprint.sh stop and then X30airprint.sh start in order to get it to work. Do you have any idea on what can be wrong?

    Stayhsf2. Mai 2013
  • Ohne die beiden Blogeinträge zum Thema SVN hätte ich es wohl nicht hinbekommen. In Zeile 23 hat sich ein kleiner Schreibfehler eingeschlichen, es muss am Anfang der Zeile sicher ‚ln‘  und nicht ’n‘ heißen.

    Außerdem ist es bestimmt hilfreich den TS-469 Pro mit /dev/sdx6 direkt in deinem Artikel zu ergänzen.

    Mark Klein27. Mai 2013
  • Hallo Mark,
    danke für die Info mit dem Tippfehler, muss natürlich „ln“ heißen.
    Auch das TS-469 Pro habe ich hinzugefügt.
    Hätte es gerne auf allen Modellen getestet, aber leider stellt mir QNAP nicht alle zu Verfügung. Wobei wenn ich so nachdenke, haben sie mir noch nie eines zur Verfügung gestellt, was eigentlich schade ist.

    Gruß

    Knut28. Mai 2013
  • Hallo,

    schönes Howto.

    Ich habe mir gerade eine TS-451 zugelegt.

    Bei der 451 ist die Partition, auf die man die autorun.sh anlegen muss, /dev/sde6 (zumindest bei mir)

     

    Eine Frage noch:

    Ich musste, damit dass Skript funktioniert, die Zeilen 42 und 53 auskommentieren.

    Da bei mir die Skriptnamen unter /opt/etc/init.d alle mit ‚S‘ anfangen, wird sonst nie etwas ausgeführt.

    Welchen Grund gab es für diese if-Abfrage?

    Gruß

     

    Thomas Könning22. Februar 2015

Schreibe einen Kommentar

captcha Gib den CAPTCHA Code ein!