blob: 4ae4c540ccfe6784c0d5b5dd0ed195a97f229637 (
plain)
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
## arg 1: the new package version
#pre_install() {
# do something here
#}
# arg 1: the new package version
post_install() {
echo "changing the remote GIT source to BARE on node"
cd /opt/ethoscope-device
git remote set-url origin git://node/ethoscope.git
echo "setting GIT branch"
git checkout dev
echo "installing python package"
cd /opt/ethoscope-device/src
python setup.py develop
echo "create 000 machine files"
echo "ETHOSCOPE_000" > /etc/machine-name
echo "ETHOSCOPE_000" > /etc/hostname
echo "create a default wlan0 file"
echo "Description='ethoscope_wifi'" > /etc/netctl/wlan
echo "Interface=wlan0" >> /etc/netctl/wlan
echo "Connection=wireless" >> /etc/netctl/wlan
echo "Security=wpa" >> /etc/netctl/wlan
echo "IP=dhcp" >> /etc/netctl/wlan
echo "TimeoutDHCP=60" >> /etc/netctl/wlan
echo "ESSID=ETHOSCOPE_WIFI" >> /etc/netctl/wlan
echo "Key=ETHOSCOPE_1234" >> /etc/netctl/wlan
echo "create a default eth0 file"
echo "Description='Ethernet'" > /etc/netctl/ether
echo "Interface=eth0" >> /etc/netctl/ether
echo "Connection=ethernet" >> /etc/netctl/ether
echo "IP=dhcp" >> /etc/netctl/ether
echo "use netctl instead of networkd"
systemctl stop systemd-networkd
systemctl disable systemd-networkd
ip link set eth0 down
ip link set wlan0 down
netctl enable ether
netctl enable wlan
# netctl-auto is for wireless connections only,
systemctl start netctl-auto@wlan
systemctl enable netctl-auto@wlan
# ifplugd for wired connections
systemctl enable netctl-ifplugd@eth0
systemctl start netctl-ifplugd@eth0
echo "configure the NTP file"
echo 'server node' > /etc/ntp.conf
echo 'server 127.127.1.0' >> /etc/ntp.conf
echo 'fudge 127.127.1.0 stratum 10' >> /etc/ntp.conf
echo 'restrict default kod limited nomodify nopeer noquery notrap' >> /etc/ntp.conf
echo 'restrict 127.0.0.1' >> /etc/ntp.conf
echo 'restrict ::1' >> /etc/ntp.conf
echo 'driftfile /var/lib/ntp/ntp.drift' >> /etc/ntp.conf
echo "enabling DEVICE specific systemd service files"
systemctl enable ethoscope_device.service ethoscope_update.service
systemctl enable ntpd.service mysqld.service sshd.service mysqld.service avahi-daemon.service
systemctl enable fake-hwclock fake-hwclock-save.timer
echo "Set up mysql database"
mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
systemctl start mysqld.service
mysql -u root -e "CREATE USER 'ethoscope'@'localhost' IDENTIFIED BY 'ethoscope'"
mysql -u root -e "CREATE USER 'ethoscope'@'%' IDENTIFIED BY 'ethoscope'"
mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'ethoscope'@'localhost' WITH GRANT OPTION";
mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'ethoscope'@'%' WITH GRANT OPTION";
chown -R mysql:mysql /var/lib/mysql
echo "setup mariadb configuration"
echo '[server]' > /etc/my.cnf.d/server.cnf
echo 'log-bin=mysql-bin' >> /etc/my.cnf.d/server.cnf
echo 'binlog_format=mixed' >> /etc/my.cnf.d/server.cnf
echo 'expire_logs_days = 10' >> /etc/my.cnf.d/server.cnf
echo 'max_binlog_size = 100M' >> /etc/my.cnf.d/server.cnf
echo "install picamera settings into the boot/config.txt"
echo 'start_file=start_x.elf' > /boot/config.txt
echo 'fixup_file=fixup_x.dat' >> /boot/config.txt
echo 'disable_camera_led=1' >> /boot/config.txt
echo 'gpu_mem=256' >> /boot/config.txt
echo 'cma_lwm=' >> /boot/config.txt
echo 'cma_hwm=' >> /boot/config.txt
echo 'cma_offline_start=' >> /boot/config.txt
echo 'hdmi_force_hotplug=1' >> /boot/config.txt
# https://github.com/raspberrypi/firmware/issues/1167
echo 'awb_auto_is_greyworld=1' >> /boot/config.txt
echo 'Loading bcm2835 module'
echo 'bcm2835-v4l2' > /etc/modules-load.d/picamera.conf
echo "limiting journal log space"
echo 'SystemMaxUse=250MB' >> /etc/systemd/journald.conf
echo "generating locale"
echo "en_GB.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen
echo "disable bluetooth"
echo 'dtoverlay=pi3-disable-bt' >> /boot/config.txt
echo "Please reboot this PI now."
}
## arg 1: the new package version
## arg 2: the old package version
#pre_upgrade() {
# do something here
#}
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
echo "changing the remote GIT source to BARE on node"
cd /opt/ethoscope-device
git remote set-url origin git://node/srv/git/ethoscope.git
#setting branch
git checkout python3.7
}
# arg 1: the old package version
pre_remove() {
echo "disabling systemd service files"
systemctl disable ethoscope_device.service ethoscope_update.service
}
## arg 1: the old package version
#post_remove() {
# do something here
#}
|