Inhaltsverzeichnis

Autorun

Möchte man ein Autorun-Script nach dem Reboot ausführen, muss man sich ein Init-Script erstellen und dieses dann starten lassen.

Init-Script

Hier ein Init-Script, welches ein Kernel-Modul (cp210x.ko) lädt.
Die Pfade zur .qpkg/autorun/autorun.sh und innerhalb des Scriptes müssen angepasst werden.

mkdir /share/CACHEDEV1_DATA/.qpkg/autorun/
vi /share/CACHEDEV1_DATA/.qpkg/autorun/autorun.sh

Inhalt:

#!/bin/sh
QPKG_NAME="AutoRun"
start(){
   echo `date` Start autorun.sh >> /var/log/autorun.log
# Kernelmodule für cp210x USB-TO-SERIAL Adapter Unterstützung
/sbin/insmod /lib/modules/5.10.60-qnap/cp210x.ko
/bin/chmod 666 /dev/ttyUSB0
}
stop(){
   echo `date` Stop autorun.sh >> /var/log/autorun.log
}
# you do not need to edit this lines
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        # Restarting the Daemon
        $0 stop
        $0 start
        ;;
    *)
        ## If no parameters are given, print which are avaiable.
        echo "Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac
exit

Dateiberechtigungen setzen

chown -R admin. /share/CACHEDEV1_DATA/.qpkg/autorun/
chmod 755 /share/CACHEDEV1_DATA/.qpkg/autorun/autorun.sh

Init-Script aktivieren

In der Datei /etc/config/qpkg.conf muss das Init-Script nun aktiviert werden.
Einfach folgenden Inhalt als erstes einfügen und die Pfade bei „Shell“ und „Install_Path“ wieder anpassen.

[autorun]
Name = autorun
Class = null
Display_Name = autorun
Version = 0.1
Author = stizi
QPKG_File = autorun.qpkg
Date = 2022-02-12
Shell = /share/CACHEDEV1_DATA/.qpkg/autorun/autorun.sh
Install_Path = /share/CACHEDEV1_DATA/.qpkg/autorun
Enable = TRUE
Official = 0

Nach einem Reboot sollte das Script ausgeführt worden sein.
Das wird auch in der Datei /var/log/autorun.log geloggt.

Autorun.sh

Quelle: https://www.qnap.com/en/how-to/faq/article/running-your-own-application-at-startup
Eine andere Alternative ist die autorun.sh die sich im „Mount config ramblock“ befindet.
Die Funktion lässt sich in der GUI unter „Systemsteuerung“ → „Hardware“: „Benutzerdefinierte Prozesse beim Start ausführen“ einschalten.

Die autorun.sh muss ggf. beim ersten mal erstellt und ausführbar (chmod +x …) gemacht werden.

mount $(/sbin/hal_app --get_boot_pd port_id=0)6 /tmp/config
vi /tmp/config/autorun.sh