Hallo zusammen,
ich versuche auf einer TS-231P2 (QTS 5.0.0.2055) die benutzerdefinierte autorun.sh einzurichten, wie es hier im Forum an verschiedenen Stellen beschrieben ist und es mir bei einer TS-431XeU (QTS 5.0.0.2055) auch gelungen ist.
Im config ramblock habe ich die Datei autorun.sh erstellt, die dann die eigentliche Datei starten soll. Hier eine Kopie aus der shell mit dem Inhalt der ausführbaren Datei:
[~] # ubiattach -m 6 -d 2
UBI device number 2, total 120 LEBs (15237120 bytes, 14.5 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB)
[~] # /bin/mount -t ubifs ubi2:config /tmp/config
[~] # cd /tmp/config
[/tmp/config] # ls -la
drwxrwxr-x 2 1000 1000 520 Jul 15 12:48 ./
drwxrwxrwx 15 admin administ 2200 Jul 19 10:33 ../
-rwxr-xr-x 1 admin administ 300 Jul 15 12:48 autorun.sh*
-rw-r--r-- 1 admin administ 8128 Jul 18 14:45 smb.conf
-rw-r--r-- 1 admin administ 10 Jul 18 14:45 smb.conf.cksum
-rw-r--r-- 1 admin administ 37 Feb 8 2019 system.map.key
-rw-r--r-- 1 admin administ 8062 Jul 19 09:50 uLinux.conf
[/tmp/config] # cat autorun.sh
#!/bin/sh
echo "Starte autorun.sh..." >> /dev/kmsg
[ ! -x /mnt/HDA_ROOT/.config/.autorun/autorun.sh ] || /mnt/HDA_ROOT/.config/.autorun/autorun.sh start 1>>/dev/kmsg 2>>/dev/kmsg
if [ $? == 0 ]; then
echo "autorun.sh...done" >> /dev/kmsg
else
echo "autorun.sh...failed" >> /dev/kmsg
fi
[/tmp/config] # cd /
[/] # umount /tmp/config
[/] # ubidetach -m 6
[/] #
Alles anzeigen
Die eigentliche Datei sieht als Kopie aus der shell mit dem Dateiinhalt so aus:
[/] # cd /mnt/HDA_ROOT/.config/.autorun/
[/mnt/HDA_ROOT/.config/.autorun] # ls -la
drwxr-xr-x 2 admin administ 4096 Jul 15 12:54 ./
drwxr-xr-x 46 admin administ 12288 Jul 19 10:33 ../
-rwxr-xr-x 1 admin administ 995 Jul 15 12:54 autorun.sh*
[/mnt/HDA_ROOT/.config/.autorun] # cat autorun.sh
#!/bin/sh
#autorun.sh
start()
{
echo Start APP "AutoRun" autorun.sh
#======================================================================
# ab hier alles eintragen was beim "start" ausgeführt werden soll
echo Testzeile in autorun.sh
# Ende - was beim "start" ausgeführt werden soll
#================================================
}
stop()
{
echo Stop APP "AutoRun" autorun.sh
#====================================================================
# ab hier alles eintragen was beim "stop" ausgeführt werden soll
# Ende - was beim "stop" ausgeführt werden soll
#================================================
}
# 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
[/mnt/HDA_ROOT/.config/.autorun] #
Alles anzeigen
In der Systemsteuerung ist der Haken unter "System / Hardware / Allgemein / Benutzerdefinierte Prozesse beim Start ausführen" gesetzt und die autorun.sh im config ramblock wird hier korrekt angezeigt.
Beim Start müsste nun in der Datei /etc/logs/kmsg zwischen [S98init_nas] start und [S98init_nas] end stehen:
Starte autorun.sh...
Start APP AutoRun autorun.sh
Testzeile in autorun.sh
autorun.sh...done
Das funktioniert leider nicht, d.h. diese Zeilen fehlen ohne Fehlermeldung.
Wo ist hier mein Fehler?
Auf der TS-431XeU funktionieren die gleichen Skripte wie erwartet.
Vielen Dank an alle fürs Ansehen.
Grüße
Tom