|
@@ -72,8 +72,8 @@ vendor_dir="${basedir}/vendor"
|
72
|
72
|
vmdebootstrap_dir="${vendor_dir}/vmdebootstrap"
|
73
|
73
|
|
74
|
74
|
if [ -z "$MIRROR" ] || [ -z "$SUITE" ] ; then
|
75
|
|
- echo $"error: Missing MIRROR and SUITE settings inherited from Makefile."
|
76
|
|
- exit 1
|
|
75
|
+ echo $"error: Missing MIRROR and SUITE settings inherited from Makefile."
|
|
76
|
+ exit 1
|
77
|
77
|
fi
|
78
|
78
|
|
79
|
79
|
# Packages to install in all Freedombone environments
|
|
@@ -92,7 +92,7 @@ dev_pkgs="build-essential devscripts make man-db emacs org-mode git mercurial"
|
92
|
92
|
echo Building $MACHINE $PROJECT_NAME for $ARCHITECTURE.
|
93
|
93
|
|
94
|
94
|
case "$MACHINE" in
|
95
|
|
- beaglebone)
|
|
95
|
+ beaglebone)
|
96
|
96
|
extra_pkgs="$beaglebone_pkgs"
|
97
|
97
|
extra_opts="\
|
98
|
98
|
--variant minbase \
|
|
@@ -105,7 +105,7 @@ case "$MACHINE" in
|
105
|
105
|
--roottype btrfs \
|
106
|
106
|
"
|
107
|
107
|
;;
|
108
|
|
- cubietruck | a20-olinuxino-lime | a20-olinuxino-lime2 | a20-olinuxino-micro | cubieboard2)
|
|
108
|
+ cubietruck | a20-olinuxino-lime | a20-olinuxino-lime2 | a20-olinuxino-micro | cubieboard2)
|
109
|
109
|
extra_pkgs="$a20_pkgs"
|
110
|
110
|
extra_opts="\
|
111
|
111
|
--variant minbase \
|
|
@@ -118,12 +118,12 @@ case "$MACHINE" in
|
118
|
118
|
--roottype btrfs \
|
119
|
119
|
"
|
120
|
120
|
;;
|
121
|
|
- virtualbox)
|
|
121
|
+ virtualbox)
|
122
|
122
|
extra_opts="\
|
123
|
123
|
--grub \
|
124
|
124
|
--roottype btrfs \
|
125
|
125
|
" ;;
|
126
|
|
- qemu)
|
|
126
|
+ qemu)
|
127
|
127
|
extra_opts="\
|
128
|
128
|
--grub \
|
129
|
129
|
--roottype btrfs \
|
|
@@ -168,37 +168,81 @@ else
|
168
|
168
|
VMDEBOOTSTRAP=vmdebootstrap
|
169
|
169
|
fi
|
170
|
170
|
|
|
171
|
+PROJECT_INSTALL_DIR=/usr/local/bin
|
|
172
|
+if [ -f /usr/bin/${PROJECT_NAME} ]; then
|
|
173
|
+ PROJECT_INSTALL_DIR=/usr/bin
|
|
174
|
+fi
|
|
175
|
+
|
171
|
176
|
echo $'Making customised customisation script'
|
172
|
177
|
TEMP_CUSTOMISE=/etc/${PROJECT_NAME}/image-customise
|
173
|
|
-if [ -f /usr/local/bin/${PROJECT_NAME}-image-customise ]; then
|
174
|
|
- sudo cp /usr/local/bin/${PROJECT_NAME}-image-customise $TEMP_CUSTOMISE
|
175
|
|
-else
|
176
|
|
- sudo cp /usr/bin/${PROJECT_NAME}-image-customise $TEMP_CUSTOMISE
|
|
178
|
+TEMP_CUSTOMISE2=/tmp/${PROJECT_NAME}-image-customise2
|
|
179
|
+TEMP_CUSTOMISE3=/tmp/${PROJECT_NAME}-image-customise3
|
|
180
|
+TEMP_CUSTOMISE4=/tmp/${PROJECT_NAME}-image-customise4
|
|
181
|
+
|
|
182
|
+# cat all the things together
|
|
183
|
+cp $PROJECT_INSTALL_DIR/${PROJECT_NAME}-vars $TEMP_CUSTOMISE2
|
|
184
|
+echo $'Adding utilities to customised customisation script'
|
|
185
|
+UTILS_FILES=/usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-*
|
|
186
|
+for f in $UTILS_FILES
|
|
187
|
+do
|
|
188
|
+ cat $f >> $TEMP_CUSTOMISE2
|
|
189
|
+done
|
|
190
|
+echo $'Adding base system to customised customisation script'
|
|
191
|
+BASE_SYSTEM_FILES=/usr/share/${PROJECT_NAME}/base/${PROJECT_NAME}-base-*
|
|
192
|
+for f in $BASE_SYSTEM_FILES
|
|
193
|
+do
|
|
194
|
+ cat $f >> $TEMP_CUSTOMISE2
|
|
195
|
+done
|
|
196
|
+echo $'Adding apps to customised customisation script'
|
|
197
|
+APP_FILES=/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-*
|
|
198
|
+for f in $APP_FILES
|
|
199
|
+do
|
|
200
|
+ cat $f >> $TEMP_CUSTOMISE2
|
|
201
|
+done
|
|
202
|
+echo $'Removing headers from customised customisation script'
|
|
203
|
+sed -i 's|#!/bin/bash||g' $TEMP_CUSTOMISE2
|
|
204
|
+
|
|
205
|
+echo $'Changing values within customised customisation script'
|
|
206
|
+cp $PROJECT_INSTALL_DIR/${PROJECT_NAME}-image-customise $TEMP_CUSTOMISE3
|
|
207
|
+sed -i "s|MY_USERNAME=.*|MY_USERNAME=${MY_USERNAME}|g" $TEMP_CUSTOMISE3
|
|
208
|
+sed -i "s|MY_PASSWORD=.*|MY_PASSWORD=${MY_PASSWORD}|g" $TEMP_CUSTOMISE3
|
|
209
|
+sed -i "s|ROUTER_IP_ADDRESS=.*|ROUTER_IP_ADDRESS=${ROUTER_IP_ADDRESS}|g" $TEMP_CUSTOMISE3
|
|
210
|
+sed -i "s|BOX_IP_ADDRESS=.*|BOX_IP_ADDRESS=${BOX_IP_ADDRESS}|g" $TEMP_CUSTOMISE3
|
|
211
|
+sed -i "s|NAMESERVER1=.*|NAMESERVER1=${NAMESERVER1}|g" $TEMP_CUSTOMISE3
|
|
212
|
+sed -i "s|NAMESERVER2=.*|NAMESERVER2=${NAMESERVER1}|g" $TEMP_CUSTOMISE3
|
|
213
|
+sed -i "s|PROJECT_NAME=.*|PROJECT_NAME=${PROJECT_NAME}|g" $TEMP_CUSTOMISE3
|
|
214
|
+sed -i "s|CONFIG_FILENAME=.*|CONFIG_FILENAME=${CONFIG_FILENAME}|g" $TEMP_CUSTOMISE3
|
|
215
|
+sed -i "s|SSH_PUBKEY=.*|SSH_PUBKEY=${SSH_PUBKEY}|g" $TEMP_CUSTOMISE3
|
|
216
|
+sed -i "s|GENERIC_IMAGE=.*|GENERIC_IMAGE=${GENERIC_IMAGE}|g" $TEMP_CUSTOMISE3
|
|
217
|
+sed -i "s|MINIMAL_INSTALL=.*|MINIMAL_INSTALL=\"${MINIMAL_INSTALL}\"|g" $TEMP_CUSTOMISE3
|
|
218
|
+sed -i "s|SSH_PORT=.*|SSH_PORT=\"${SSH_PORT}\"|g" $TEMP_CUSTOMISE3
|
|
219
|
+sed -i "s|ONION_ONLY=.*|ONION_ONLY=\"${ONION_ONLY}\"|g" $TEMP_CUSTOMISE3
|
|
220
|
+sed -i "s|PROJECT_REPO=.*|PROJECT_REPO=\"${PROJECT_REPO}\"|g" $TEMP_CUSTOMISE3
|
|
221
|
+sed -i "s|DEBIAN_INSTALL_ONLY=.*|DEBIAN_INSTALL_ONLY=\"${DEBIAN_INSTALL_ONLY}\"|g" $TEMP_CUSTOMISE3
|
|
222
|
+sed -i "s|WIFI_INTERFACE=.*|WIFI_INTERFACE=\"${WIFI_INTERFACE}\"|g" $TEMP_CUSTOMISE3
|
|
223
|
+sed -i "s|WIFI_SSID=.*|WIFI_SSID=\"${WIFI_SSID}\"|g" $TEMP_CUSTOMISE3
|
|
224
|
+sed -i "s|WIFI_TYPE=.*|WIFI_TYPE=\"${WIFI_TYPE}\"|g" $TEMP_CUSTOMISE3
|
|
225
|
+sed -i "s|WIFI_PASSPHRASE=.*|WIFI_PASSPHRASE=\"${WIFI_PASSPHRASE}\"|g" $TEMP_CUSTOMISE3
|
|
226
|
+sed -i "s|WIFI_HOTSPOT=.*|WIFI_HOTSPOT=\"${WIFI_HOTSPOT}\"|g" $TEMP_CUSTOMISE3
|
|
227
|
+sed -i "s|WIFI_NETWORKS_FILE=.*|WIFI_NETWORKS_FILE=\"${WIFI_NETWORKS_FILE}\"|g" $TEMP_CUSTOMISE3
|
|
228
|
+sed -i "s|VARIANT=.*|VARIANT=\"${VARIANT}\"|g" $TEMP_CUSTOMISE3
|
|
229
|
+sed -i "s|MINIMUM_PASSWORD_LENGTH=.*|MINIMUM_PASSWORD_LENGTH=\"${MINIMUM_PASSWORD_LENGTH}\"|g" $TEMP_CUSTOMISE3
|
|
230
|
+sed -i "s|INSECURE=.*|INSECURE=\"${INSECURE}\"|g" $TEMP_CUSTOMISE3
|
|
231
|
+sed -i 's|#!/bin/bash||g' $TEMP_CUSTOMISE3
|
|
232
|
+
|
|
233
|
+echo "#!/bin/bash" > $TEMP_CUSTOMISE4
|
|
234
|
+cat $TEMP_CUSTOMISE2 $TEMP_CUSTOMISE3 >> $TEMP_CUSTOMISE4
|
|
235
|
+if [ -f $TEMP_CUSTOMISE ]; then
|
|
236
|
+ sudo rm $TEMP_CUSTOMISE
|
|
237
|
+fi
|
|
238
|
+sudo mv $TEMP_CUSTOMISE4 $TEMP_CUSTOMISE
|
|
239
|
+rm $TEMP_CUSTOMISE2 $TEMP_CUSTOMISE3 $TEMP_CUSTOMISE4
|
|
240
|
+if [ ! -f $TEMP_CUSTOMISE ]; then
|
|
241
|
+ echo $'Customised customisation script could not be created'
|
|
242
|
+ exit 735892
|
177
|
243
|
fi
|
178
|
|
-sudo sed -i "s|MY_USERNAME=.*|MY_USERNAME=${MY_USERNAME}|g" $TEMP_CUSTOMISE
|
179
|
|
-sudo sed -i "s|MY_PASSWORD=.*|MY_PASSWORD=${MY_PASSWORD}|g" $TEMP_CUSTOMISE
|
180
|
|
-sudo sed -i "s|ROUTER_IP_ADDRESS=.*|ROUTER_IP_ADDRESS=${ROUTER_IP_ADDRESS}|g" $TEMP_CUSTOMISE
|
181
|
|
-sudo sed -i "s|BOX_IP_ADDRESS=.*|BOX_IP_ADDRESS=${BOX_IP_ADDRESS}|g" $TEMP_CUSTOMISE
|
182
|
|
-sudo sed -i "s|NAMESERVER1=.*|NAMESERVER1=${NAMESERVER1}|g" $TEMP_CUSTOMISE
|
183
|
|
-sudo sed -i "s|NAMESERVER2=.*|NAMESERVER2=${NAMESERVER1}|g" $TEMP_CUSTOMISE
|
184
|
|
-sudo sed -i "s|PROJECT_NAME=.*|PROJECT_NAME=${PROJECT_NAME}|g" $TEMP_CUSTOMISE
|
185
|
|
-sudo sed -i "s|CONFIG_FILENAME=.*|CONFIG_FILENAME=${CONFIG_FILENAME}|g" $TEMP_CUSTOMISE
|
186
|
|
-sudo sed -i "s|SSH_PUBKEY=.*|SSH_PUBKEY=${SSH_PUBKEY}|g" $TEMP_CUSTOMISE
|
187
|
|
-sudo sed -i "s|GENERIC_IMAGE=.*|GENERIC_IMAGE=${GENERIC_IMAGE}|g" $TEMP_CUSTOMISE
|
188
|
|
-sudo sed -i "s|MINIMAL_INSTALL=.*|MINIMAL_INSTALL=\"${MINIMAL_INSTALL}\"|g" $TEMP_CUSTOMISE
|
189
|
|
-sudo sed -i "s|SSH_PORT=.*|SSH_PORT=\"${SSH_PORT}\"|g" $TEMP_CUSTOMISE
|
190
|
|
-sudo sed -i "s|ONION_ONLY=.*|ONION_ONLY=\"${ONION_ONLY}\"|g" $TEMP_CUSTOMISE
|
191
|
|
-sudo sed -i "s|PROJECT_REPO=.*|PROJECT_REPO=\"${PROJECT_REPO}\"|g" $TEMP_CUSTOMISE
|
192
|
|
-sudo sed -i "s|DEBIAN_INSTALL_ONLY=.*|DEBIAN_INSTALL_ONLY=\"${DEBIAN_INSTALL_ONLY}\"|g" $TEMP_CUSTOMISE
|
193
|
|
-sudo sed -i "s|WIFI_INTERFACE=.*|WIFI_INTERFACE=\"${WIFI_INTERFACE}\"|g" $TEMP_CUSTOMISE
|
194
|
|
-sudo sed -i "s|WIFI_SSID=.*|WIFI_SSID=\"${WIFI_SSID}\"|g" $TEMP_CUSTOMISE
|
195
|
|
-sudo sed -i "s|WIFI_TYPE=.*|WIFI_TYPE=\"${WIFI_TYPE}\"|g" $TEMP_CUSTOMISE
|
196
|
|
-sudo sed -i "s|WIFI_PASSPHRASE=.*|WIFI_PASSPHRASE=\"${WIFI_PASSPHRASE}\"|g" $TEMP_CUSTOMISE
|
197
|
|
-sudo sed -i "s|WIFI_HOTSPOT=.*|WIFI_HOTSPOT=\"${WIFI_HOTSPOT}\"|g" $TEMP_CUSTOMISE
|
198
|
|
-sudo sed -i "s|WIFI_NETWORKS_FILE=.*|WIFI_NETWORKS_FILE=\"${WIFI_NETWORKS_FILE}\"|g" $TEMP_CUSTOMISE
|
199
|
|
-sudo sed -i "s|VARIANT=.*|VARIANT=\"${VARIANT}\"|g" $TEMP_CUSTOMISE
|
200
|
|
-sudo sed -i "s|MINIMUM_PASSWORD_LENGTH=.*|MINIMUM_PASSWORD_LENGTH=\"${MINIMUM_PASSWORD_LENGTH}\"|g" $TEMP_CUSTOMISE
|
201
|
|
-sudo sed -i "s|INSECURE=.*|INSECURE=\"${INSECURE}\"|g" $TEMP_CUSTOMISE
|
|
244
|
+echo $'Customised customisation script created'
|
|
245
|
+
|
202
|
246
|
|
203
|
247
|
echo $"starting $VMDEBOOTSTRAP"
|
204
|
248
|
# Run vmdebootstrap script to create image
|