2023-04-01 18:43:53 +02:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
set -u
|
|
|
|
|
2023-04-10 20:13:59 +02:00
|
|
|
declare nmi
|
|
|
|
|
|
|
|
function checkNMI {
|
|
|
|
|
2023-04-16 19:52:56 +02:00
|
|
|
nmi=$(awk '/NMI/ {for (i=2; i<=NF; i++) if ($i ~ /^[0-9]+$/) {sum+=$i}} END {print sum}' /proc/interrupts)
|
2023-04-10 20:13:59 +02:00
|
|
|
|
2023-04-16 19:52:56 +02:00
|
|
|
if [ "$nmi" != "" ] && [ "$nmi" -ne "0" ]; then
|
2023-04-10 20:13:59 +02:00
|
|
|
|
|
|
|
echo "Received shutdown request through NMI.." > /dev/ttyS0
|
|
|
|
|
|
|
|
/usr/syno/sbin/synoshutdown -s > /dev/null
|
|
|
|
exit 0
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2023-04-01 18:43:53 +02:00
|
|
|
chmod 666 /dev/ttyS0
|
2023-04-10 20:13:59 +02:00
|
|
|
checkNMI
|
2023-04-01 22:54:03 +02:00
|
|
|
|
2023-04-02 03:57:02 +02:00
|
|
|
first_run=false
|
|
|
|
|
|
|
|
for filename in /usr/local/packages/*.spk; do
|
2023-04-02 23:33:58 +02:00
|
|
|
if [ -f "$filename" ]; then
|
|
|
|
first_run=true
|
|
|
|
fi
|
2023-04-02 03:57:02 +02:00
|
|
|
done
|
|
|
|
|
|
|
|
if [ "$first_run" = true ]; then
|
|
|
|
for filename in /usr/local/packages/*.spk; do
|
2023-04-02 23:33:58 +02:00
|
|
|
if [ -f "$filename" ]; then
|
2023-04-02 21:38:34 +02:00
|
|
|
|
2023-04-02 23:33:58 +02:00
|
|
|
/usr/syno/bin/synopkg install "$filename" > /dev/null
|
2023-04-02 21:38:34 +02:00
|
|
|
|
2023-04-02 23:33:58 +02:00
|
|
|
BASE=$(basename "$filename" .spk)
|
2023-04-08 02:38:24 +02:00
|
|
|
BASE="${BASE%%-*}"
|
2023-04-02 21:38:34 +02:00
|
|
|
|
2023-04-02 23:33:58 +02:00
|
|
|
/usr/syno/bin/synopkg start "$BASE" > /dev/null
|
2023-04-02 21:38:34 +02:00
|
|
|
|
2023-04-02 23:33:58 +02:00
|
|
|
rm "$filename"
|
2023-04-02 03:57:02 +02:00
|
|
|
|
2023-04-02 23:33:58 +02:00
|
|
|
fi
|
2023-04-02 21:38:34 +02:00
|
|
|
done
|
2023-04-02 03:57:02 +02:00
|
|
|
else
|
2023-04-02 21:38:34 +02:00
|
|
|
|
2023-04-10 20:13:59 +02:00
|
|
|
sleep 5
|
2023-04-02 21:38:34 +02:00
|
|
|
|
2023-04-02 03:57:02 +02:00
|
|
|
fi
|
|
|
|
|
2023-04-08 02:41:05 +02:00
|
|
|
echo "-------------------------------------------" > /dev/ttyS0
|
2023-04-10 20:13:59 +02:00
|
|
|
echo " You can now login to DSM at port 5000 " > /dev/ttyS0
|
2023-04-08 02:41:05 +02:00
|
|
|
echo "-------------------------------------------" > /dev/ttyS0
|
2023-04-01 18:43:53 +02:00
|
|
|
|
|
|
|
while true; do
|
|
|
|
|
2023-04-10 20:13:59 +02:00
|
|
|
checkNMI
|
2023-04-15 15:01:22 +02:00
|
|
|
sleep 2
|
2023-04-01 18:43:53 +02:00
|
|
|
|
|
|
|
done
|
2023-04-10 20:13:59 +02:00
|
|
|
|