|
@@ -36,7 +36,7 @@ export TEXTDOMAINDIR="/usr/share/locale"
|
36
|
36
|
|
37
|
37
|
PROJECT_INSTALL_DIR=/usr/local/bin
|
38
|
38
|
if [ -f /usr/bin/${PROJECT_NAME} ]; then
|
39
|
|
- PROJECT_INSTALL_DIR=/usr/bin
|
|
39
|
+ PROJECT_INSTALL_DIR=/usr/bin
|
40
|
40
|
fi
|
41
|
41
|
|
42
|
42
|
source /usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-setup
|
|
@@ -80,8 +80,8 @@ vendor_dir="${basedir}/vendor"
|
80
|
80
|
vmdebootstrap_dir="${vendor_dir}/vmdebootstrap"
|
81
|
81
|
|
82
|
82
|
if [ -z "$MIRROR" ] || [ -z "$SUITE" ] ; then
|
83
|
|
- echo $"error: Missing MIRROR and SUITE settings inherited from Makefile."
|
84
|
|
- exit 1
|
|
83
|
+ echo $"error: Missing MIRROR and SUITE settings inherited from Makefile."
|
|
84
|
+ exit 1
|
85
|
85
|
fi
|
86
|
86
|
|
87
|
87
|
# Packages to install in all Freedombone environments
|
|
@@ -100,9 +100,9 @@ dev_pkgs="build-essential devscripts make man-db emacs org-mode git mercurial"
|
100
|
100
|
echo Building $MACHINE $PROJECT_NAME for $ARCHITECTURE.
|
101
|
101
|
|
102
|
102
|
case "$MACHINE" in
|
103
|
|
- beaglebone)
|
104
|
|
- extra_pkgs="$beaglebone_pkgs"
|
105
|
|
- extra_opts="\
|
|
103
|
+ beaglebone)
|
|
104
|
+ extra_pkgs="$beaglebone_pkgs"
|
|
105
|
+ extra_opts="\
|
106
|
106
|
--variant minbase \
|
107
|
107
|
--bootoffset=2mib \
|
108
|
108
|
--bootsize 128M \
|
|
@@ -112,10 +112,10 @@ case "$MACHINE" in
|
112
|
112
|
--foreign /usr/bin/qemu-arm-static \
|
113
|
113
|
--roottype btrfs \
|
114
|
114
|
"
|
115
|
|
- ;;
|
116
|
|
- cubietruck | a20-olinuxino-lime | a20-olinuxino-lime2 | a20-olinuxino-micro | cubieboard2)
|
117
|
|
- extra_pkgs="$a20_pkgs"
|
118
|
|
- extra_opts="\
|
|
115
|
+ ;;
|
|
116
|
+ cubietruck | a20-olinuxino-lime | a20-olinuxino-lime2 | a20-olinuxino-micro | cubieboard2)
|
|
117
|
+ extra_pkgs="$a20_pkgs"
|
|
118
|
+ extra_opts="\
|
119
|
119
|
--variant minbase \
|
120
|
120
|
--bootoffset=1mib \
|
121
|
121
|
--bootsize 128M \
|
|
@@ -125,29 +125,29 @@ case "$MACHINE" in
|
125
|
125
|
--foreign /usr/bin/qemu-arm-static \
|
126
|
126
|
--roottype btrfs \
|
127
|
127
|
"
|
128
|
|
- ;;
|
129
|
|
- virtualbox)
|
130
|
|
- extra_opts="\
|
|
128
|
+ ;;
|
|
129
|
+ virtualbox)
|
|
130
|
+ extra_opts="\
|
131
|
131
|
--grub \
|
132
|
132
|
--roottype btrfs \
|
133
|
133
|
" ;;
|
134
|
|
- qemu)
|
135
|
|
- extra_opts="\
|
|
134
|
+ qemu)
|
|
135
|
+ extra_opts="\
|
136
|
136
|
--grub \
|
137
|
137
|
--roottype btrfs \
|
138
|
138
|
" ;;
|
139
|
|
- usb)
|
140
|
|
- extra_opts="\
|
|
139
|
+ usb)
|
|
140
|
+ extra_opts="\
|
141
|
141
|
--grub \
|
142
|
142
|
--roottype btrfs \
|
143
|
143
|
" ;;
|
144
|
|
- meshclient)
|
145
|
|
- extra_opts="\
|
|
144
|
+ meshclient)
|
|
145
|
+ extra_opts="\
|
146
|
146
|
--grub \
|
147
|
147
|
--roottype btrfs \
|
148
|
148
|
" ;;
|
149
|
|
- all)
|
150
|
|
- extra_opts="\
|
|
149
|
+ all)
|
|
150
|
+ extra_opts="\
|
151
|
151
|
--grub \
|
152
|
152
|
--roottype btrfs \
|
153
|
153
|
" ;;
|
|
@@ -156,29 +156,29 @@ esac
|
156
|
156
|
# allow for lots of extra fun customization options.
|
157
|
157
|
for customization in $CUSTOMIZATIONS
|
158
|
158
|
do
|
159
|
|
- case "$customization" in
|
160
|
|
- development)
|
161
|
|
- extra_pkgs="$extra_pkgs $dev_pkgs"
|
162
|
|
- ;;
|
163
|
|
- esac
|
|
159
|
+ case "$customization" in
|
|
160
|
+ development)
|
|
161
|
+ extra_pkgs="$extra_pkgs $dev_pkgs"
|
|
162
|
+ ;;
|
|
163
|
+ esac
|
164
|
164
|
done
|
165
|
165
|
|
166
|
166
|
for p in $base_pkgs $extra_pkgs; do
|
167
|
|
- pkgopts="$pkgopts --package $p"
|
|
167
|
+ pkgopts="$pkgopts --package $p"
|
168
|
168
|
done
|
169
|
169
|
|
170
|
170
|
# Make sure file is owned by current user, not root
|
171
|
171
|
touch $(dirname $IMAGE)/${PROJECT_NAME}.log
|
172
|
172
|
|
173
|
173
|
if [ -x vendor/vmdebootstrap/vmdebootstrap ] ; then
|
174
|
|
- VMDEBOOTSTRAP=vendor/vmdebootstrap/vmdebootstrap
|
|
174
|
+ VMDEBOOTSTRAP=vendor/vmdebootstrap/vmdebootstrap
|
175
|
175
|
else
|
176
|
|
- VMDEBOOTSTRAP=vmdebootstrap
|
|
176
|
+ VMDEBOOTSTRAP=vmdebootstrap
|
177
|
177
|
fi
|
178
|
178
|
|
179
|
179
|
PROJECT_INSTALL_DIR=/usr/local/bin
|
180
|
180
|
if [ -f /usr/bin/${PROJECT_NAME} ]; then
|
181
|
|
- PROJECT_INSTALL_DIR=/usr/bin
|
|
181
|
+ PROJECT_INSTALL_DIR=/usr/bin
|
182
|
182
|
fi
|
183
|
183
|
|
184
|
184
|
echo $'Making customised customisation script'
|
|
@@ -190,17 +190,17 @@ TEMP_CUSTOMISE4=/tmp/${PROJECT_NAME}-image-customise4
|
190
|
190
|
# cat all the things together
|
191
|
191
|
combine_all_scripts $TEMP_CUSTOMISE2
|
192
|
192
|
if [ ! -f $TEMP_CUSTOMISE2 ]; then
|
193
|
|
- echo $'Could not combine scripts'
|
194
|
|
- exit 627219
|
|
193
|
+ echo $'Could not combine scripts'
|
|
194
|
+ exit 627219
|
195
|
195
|
fi
|
196
|
196
|
|
197
|
197
|
echo $'Changing values within customised customisation script'
|
198
|
198
|
cp $PROJECT_INSTALL_DIR/${PROJECT_NAME}-image-customise $TEMP_CUSTOMISE3
|
199
|
199
|
if [ $MYUSERNAME ]; then
|
200
|
|
- sed -i "s|MY_USERNAME=.*|MY_USERNAME=${MYUSERNAME}|g" $TEMP_CUSTOMISE3
|
|
200
|
+ sed -i "s|MY_USERNAME=.*|MY_USERNAME=${MYUSERNAME}|g" $TEMP_CUSTOMISE3
|
201
|
201
|
fi
|
202
|
202
|
if [ $MYPASSWORD ]; then
|
203
|
|
- sed -i "s|MY_PASSWORD=.*|MY_PASSWORD=${MYPASSWORD}|g" $TEMP_CUSTOMISE3
|
|
203
|
+ sed -i "s|MY_PASSWORD=.*|MY_PASSWORD=${MYPASSWORD}|g" $TEMP_CUSTOMISE3
|
204
|
204
|
fi
|
205
|
205
|
sed -i "s|ROUTER_IP_ADDRESS=.*|ROUTER_IP_ADDRESS=${ROUTER_IP_ADDRESS}|g" $TEMP_CUSTOMISE3
|
206
|
206
|
sed -i "s|BOX_IP_ADDRESS=.*|BOX_IP_ADDRESS=${BOX_IP_ADDRESS}|g" $TEMP_CUSTOMISE3
|
|
@@ -229,13 +229,13 @@ sed -i 's|#!/bin/bash||g' $TEMP_CUSTOMISE3
|
229
|
229
|
|
230
|
230
|
cat $TEMP_CUSTOMISE2 $TEMP_CUSTOMISE3 > $TEMP_CUSTOMISE4
|
231
|
231
|
if [ -f $TEMP_CUSTOMISE ]; then
|
232
|
|
- sudo rm $TEMP_CUSTOMISE
|
|
232
|
+ sudo rm $TEMP_CUSTOMISE
|
233
|
233
|
fi
|
234
|
234
|
sudo mv $TEMP_CUSTOMISE4 $TEMP_CUSTOMISE
|
235
|
235
|
rm $TEMP_CUSTOMISE2 $TEMP_CUSTOMISE3
|
236
|
236
|
if [ ! -f $TEMP_CUSTOMISE ]; then
|
237
|
|
- echo $'Customised customisation script could not be created'
|
238
|
|
- exit 735892
|
|
237
|
+ echo $'Customised customisation script could not be created'
|
|
238
|
+ exit 735892
|
239
|
239
|
fi
|
240
|
240
|
sudo chmod +x $TEMP_CUSTOMISE
|
241
|
241
|
echo $'Customised customisation script created'
|
|
@@ -245,27 +245,27 @@ echo $"starting $VMDEBOOTSTRAP"
|
245
|
245
|
|
246
|
246
|
# Run vmdebootstrap script to create image
|
247
|
247
|
sudo -H \
|
248
|
|
- SUITE="$SUITE" \
|
249
|
|
- MIRROR="$MIRROR" \
|
250
|
|
- BUILD_MIRROR="$BUILD_MIRROR"\
|
251
|
|
- MACHINE="$MACHINE" \
|
252
|
|
- ARCHITECTURE="$ARCHITECTURE" \
|
253
|
|
- SOURCE="$SOURCE" \
|
254
|
|
- CUSTOM_SETUP="$CUSTOM_SETUP" \
|
255
|
|
- $VMDEBOOTSTRAP \
|
256
|
|
- --log $(dirname $IMAGE)/${PROJECT_NAME}.log \
|
257
|
|
- --log-level debug \
|
258
|
|
- --size $IMAGE_SIZE \
|
259
|
|
- --image $IMAGE.img \
|
260
|
|
- --hostname ${PROJECT_NAME} \
|
261
|
|
- --verbose \
|
262
|
|
- --mirror $BUILD_MIRROR \
|
263
|
|
- --customize "$TEMP_CUSTOMISE" \
|
264
|
|
- --lock-root-password \
|
265
|
|
- --arch $ARCHITECTURE \
|
266
|
|
- --distribution $SUITE \
|
267
|
|
- $extra_opts \
|
268
|
|
- $pkgopts
|
|
248
|
+ SUITE="$SUITE" \
|
|
249
|
+ MIRROR="$MIRROR" \
|
|
250
|
+ BUILD_MIRROR="$BUILD_MIRROR"\
|
|
251
|
+ MACHINE="$MACHINE" \
|
|
252
|
+ ARCHITECTURE="$ARCHITECTURE" \
|
|
253
|
+ SOURCE="$SOURCE" \
|
|
254
|
+ CUSTOM_SETUP="$CUSTOM_SETUP" \
|
|
255
|
+ $VMDEBOOTSTRAP \
|
|
256
|
+ --log $(dirname $IMAGE)/${PROJECT_NAME}.log \
|
|
257
|
+ --log-level debug \
|
|
258
|
+ --size $IMAGE_SIZE \
|
|
259
|
+ --image $IMAGE.img \
|
|
260
|
+ --hostname ${PROJECT_NAME} \
|
|
261
|
+ --verbose \
|
|
262
|
+ --mirror $BUILD_MIRROR \
|
|
263
|
+ --customize "$TEMP_CUSTOMISE" \
|
|
264
|
+ --lock-root-password \
|
|
265
|
+ --arch $ARCHITECTURE \
|
|
266
|
+ --distribution $SUITE \
|
|
267
|
+ $extra_opts \
|
|
268
|
+ $pkgopts
|
269
|
269
|
|
270
|
270
|
echo $'Removing customised customisation script'
|
271
|
271
|
sudo shred -zu $TEMP_CUSTOMISE
|