Browse Source

If a configuration file is supplied then run it at the end of image generation

Bob Mottram 9 years ago
parent
commit
699c77122a
3 changed files with 25 additions and 3 deletions
  1. 11
    3
      src/freedombone-image
  2. 12
    0
      src/freedombone-image-customise
  3. 2
    0
      src/freedombone-image-make

+ 11
- 3
src/freedombone-image View File

@@ -28,12 +28,12 @@
28 28
 # You should have received a copy of the GNU General Public License
29 29
 # along with this program. If not, see <http://www.gnu.org/licenses/>.
30 30
 
31
+PROJECT_NAME='freedombone'
31 32
 IMAGE_TYPE='beaglebone'
32 33
 CURR_DIR=$(pwd)
33
-BUILD_DIR=~/.tmp_freedombone_build
34
+BUILD_DIR=~/.tmp_${PROJECT_NAME}_build
34 35
 VMDEBOOTSTRAP_REPO=git://git.liw.fi/vmdebootstrap
35 36
 VMDEBOOTSTRAP_VERSION=0.8
36
-PROJECT_NAME=freedombone
37 37
 MAKEFILE=${PROJECT_NAME}-image-makefile
38 38
 
39 39
 USERNAME=$(echo $USER)
@@ -49,6 +49,9 @@ BOX_IP_ADDRESS="192.168.1.55"
49 49
 NAMESERVER1='213.73.91.35'
50 50
 NAMESERVER2='85.214.20.141'
51 51
 
52
+# An optional freedombone configuration file
53
+CONFIG_FILENAME=
54
+
52 55
 while [[ $# > 1 ]]
53 56
 do
54 57
 key="$1"
@@ -57,6 +60,10 @@ case $key in
57 60
     -h|--help)
58 61
     show_help
59 62
     ;;
63
+    -c|--config)
64
+    shift
65
+    CONFIG_FILENAME="$1"
66
+    ;;
60 67
     -t|--target|--board)
61 68
     shift
62 69
     IMAGE_TYPE="$1"
@@ -138,7 +145,8 @@ make $IMAGE_TYPE \
138 145
     BOX_IP_ADDRESS="$BOX_IP_ADDRESS" \
139 146
     NAMESERVER1="$NAMESERVER1" \
140 147
     NAMESERVER2="$NAMESERVER2" \
141
-	PROJECT_NAME="$PROJECT_NAME"
148
+	PROJECT_NAME="$PROJECT_NAME" \
149
+	CONFIG_FILENAME="$CONFIG_FILENAME"
142 150
 
143 151
 shopt -s nullglob
144 152
 imgfiles=(build/${PROJECT_NAME}*.img)

+ 12
- 0
src/freedombone-image-customise View File

@@ -29,6 +29,8 @@
29 29
 set -e
30 30
 set -x
31 31
 
32
+PROJECT_NAME='freedombone'
33
+
32 34
 MY_USERNAME='debian'
33 35
 MY_PASSWORD='freedombone'
34 36
 
@@ -233,6 +235,16 @@ fi
233 235
 set_apt_sources $MIRROR
234 236
 chroot $rootdir apt-get update
235 237
 
238
+# If a configuration file exists then run with it
239
+# otherwise the interactive installer can be used
240
+# This is equivalent to installing freedombox-setup on freedombox
241
+if [ $CONFIG_FILENAME ]; then
242
+    if [ ${#CONFIG_FILENAME} -gt 2 ]; then
243
+        cp $CONFIG_FILENAME $rootdir/root/$PROJECT_NAME.cfg
244
+        chroot $rootdir $PROJECT_NAME -c /root/$PROJECT_NAME.cfg
245
+    fi
246
+fi
247
+
236 248
 cd /
237 249
 echo "info: killing leftover processes in chroot"
238 250
 # 2014-11-04 this killed /usr/lib/erlang/erts-6.2/bin/epmd, see

+ 2
- 0
src/freedombone-image-make View File

@@ -43,6 +43,7 @@ export BOX_IP_ADDRESS
43 43
 export NAMESERVER1
44 44
 export NAMESERVER2
45 45
 export PROJECT_NAME
46
+export CONFIG_FILENAME
46 47
 
47 48
 # Locate vmdebootstrap program fetched in Makefile
48 49
 basedir=`pwd`
@@ -134,6 +135,7 @@ sudo sed -i "s|ROUTER_IP_ADDRESS=.*|ROUTER_IP_ADDRESS=${ROUTER_IP_ADDRESS}|g" $T
134 135
 sudo sed -i "s|BOX_IP_ADDRESS=.*|BOX_IP_ADDRESS=${BOX_IP_ADDRESS}|g" $TEMP_CUSTOMISE
135 136
 sudo sed -i "s|NAMESERVER1=.*|NAMESERVER1=${NAMESERVER1}|g" $TEMP_CUSTOMISE
136 137
 sudo sed -i "s|NAMESERVER2=.*|NAMESERVER2=${NAMESERVER1}|g" $TEMP_CUSTOMISE
138
+sudo sed -i "s|PROJECT_NAME=.*|PROJECT_NAME=${PROJECT_NAME}|g" $TEMP_CUSTOMISE
137 139
 
138 140
 echo "starting $VMDEBOOTSTRAP"
139 141
 # Run vmdebootstrap script to create image