-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupdate_script
66 lines (57 loc) · 1.71 KB
/
update_script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/sh
ADDONNAME=presencebymac
RCDDIR=/usr/local/etc/config/rc.d
ADDONDIR=/usr/local/etc/config/addons/${ADDONNAME}
WWWDIR=/usr/local/etc/config/addons/www/${ADDONNAME}
TMPDIR=/tmp
DROPBEARKEY=/usr/local/addons/dropbear/dropbearkey
if [ "$1" = "" ]; then
echo "CCU1"
lcdtool "installing ${ADDONNAME} "
mount -t yaffs /dev/mtdblock3 /usr/local
elif [ "$1" = "CCU2" ]; then
echo "CCU2"
mount -t ubifs ubi1:user /usr/local
elif [ "$1" = "HM-RASPBERRYMATIC" ]; then
echo "HM-RASPBERRYMATIC"
mount /usr/local
fi
# Autostart-Script anlegen
cp rc.d/${ADDONNAME} ${RCDDIR}
chmod +x ${RCDDIR}/${ADDONNAME}
# Web-Konfiguration anlegen
mkdir -p ${WWWDIR}
cp -rp www/* ${WWWDIR}
chmod -R 755 ${WWWDIR}
# Addon-Verzeichnis anlegen
mkdir -p ${ADDONDIR}
cp -rp addon/* ${ADDONDIR}
chmod -R 755 ${ADDONDIR}
chown -R root ${ADDONDIR}
chgrp -R root ${ADDONDIR}
# SSH KEYGEN
mkdir -p ${ADDONDIR}/modules/ssh
if [ ! -f ${ADDONDIR}/modules/ssh/id_rsa ]; then
if [ "$1" = "" && -f ${DROPBEARKEY} ]; then
${DROPBEARKEY} -t rsa -f ${ADDONDIR}/modules/ssh/id_rsa
${DROPBEARKEY} -y -f ${ADDONDIR}/modules/ssh/id_rsa | grep "^ssh-rsa " >> ${ADDONDIR}/modules/ssh/id_rsa.pub
elif [ "$1" = "CCU2" ]; then
ssh-keygen -t rsa -N "" -f ${ADDONDIR}/modules/ssh/id_rsa
fi
fi
# sync filesystem to make sure all changes are written to disk
sync
if [ "$1" = "" ]; then
echo "CCU1"
lcdtool "Reboot... "
lcdtool -a 0x40 -t bin 00
echo "x" > /dev/watchdog
reboot
while true ; do true ; done
elif [ "$1" = "CCU2" ]; then
echo "CCU2"
# CCU2 always reboots after Addon/Firmware Update
elif [ "$1" = "HM-RASPBERRYMATIC" ]; then
echo "HM-RASPBERRYMATIC"
# RASPBERRYMATIC always reboots after Addon/Firmware Update
fi