Browse Source

Image type

Bob Mottram 9 years ago
parent
commit
975de7039c
2 changed files with 113 additions and 102 deletions
  1. 11
    1
      src/freedombone-image
  2. 102
    101
      src/freedombone-image-makefile

+ 11
- 1
src/freedombone-image View File

@@ -50,6 +50,7 @@ VMDEBOOTSTRAP_REPO=git://git.liw.fi/vmdebootstrap
50 50
 VMDEBOOTSTRAP_VERSION=0.8
51 51
 MAKEFILE=${PROJECT_NAME}-image-makefile
52 52
 IMAGE_SIZE=4G
53
+IMAGE_TYPE='full'
53 54
 
54 55
 USERNAME=$(echo $USER)
55 56
 PASSWORD=
@@ -258,6 +259,14 @@ rm -rf $BUILD_DIR/vendor
258 259
 chown -R $CURR_USER:$CURR_USER $BUILD_DIR
259 260
 cd $BUILD_DIR
260 261
 
262
+if [[ $MINIMAL_INSTALL == "yes" ]]; then
263
+    IMAGE_TYPE='min'
264
+fi
265
+
266
+if [[ $ONION_ONLY != "no" ]]; then
267
+    IMAGE_TYPE='onion'
268
+fi
269
+
261 270
 cd $BUILD_DIR
262 271
 make $IMAGE_TYPE \
263 272
     USERNAME="$USERNAME" \
@@ -273,7 +282,8 @@ make $IMAGE_TYPE \
273 282
     GENERIC_IMAGE="$GENERIC_IMAGE" \
274 283
     MINIMAL_INSTALL="$MINIMAL_INSTALL" \
275 284
     SSH_PORT="$SSH_PORT" \
276
-    ONION_ONLY="$ONION_ONLY"
285
+    ONION_ONLY="$ONION_ONLY" \
286
+    IMAGE_TYPE="$IMAGE_TYPE"
277 287
 
278 288
 if [ ! "$?" = "0" ]; then
279 289
     echo $'Build failed'

+ 102
- 101
src/freedombone-image-makefile View File

@@ -30,6 +30,7 @@
30 30
 MIRROR ?= http://httpredir.debian.org/debian
31 31
 BUILD_MIRROR ?= http://httpredir.debian.org/debian
32 32
 IMAGE_SIZE ?= 8G
33
+IMAGE_TYPE ?= 'full'
33 34
 SUITE ?= jessie
34 35
 # include source packages in image?
35 36
 SOURCE ?= false
@@ -37,7 +38,7 @@ SOURCE ?= false
37 38
 # yes no
38 39
 BUILD = $(MACHINE)-$(ARCHITECTURE)
39 40
 TODAY := $(shell date +%Y-%m-%d)
40
-NAME = build/$(PROJECT_NAME)-$(TODAY)_$(BUILD)
41
+NAME = build/$(PROJECT_NAME)-$(IMAGE_TYPE)-$(TODAY)_$(BUILD)
41 42
 IMAGE = $(NAME).img
42 43
 ARCHIVE = $(NAME).tar.bz2
43 44
 SIGNATURE = $(ARCHIVE).sig
@@ -79,144 +80,144 @@ MAKE_IMAGE = ARCHITECTURE=$(ARCHITECTURE) MACHINE=$(MACHINE) SOURCE=$(SOURCE) \
79 80
 
80 81
 # build Beaglebone SD card image
81 82
 beaglebone: prep
82
-	$(eval ARCHITECTURE = armhf)
83
-	$(eval MACHINE = beaglebone)
84
-	$(MAKE_IMAGE)
85
-	$(TAR) $(ARCHIVE) $(IMAGE)
86
-	@echo ""
87
-	$(SIGN)
88
-	@echo "Build complete."
83
+    $(eval ARCHITECTURE = armhf)
84
+    $(eval MACHINE = beaglebone)
85
+    $(MAKE_IMAGE)
86
+    $(TAR) $(ARCHIVE) $(IMAGE)
87
+    @echo ""
88
+    $(SIGN)
89
+    @echo "Build complete."
89 90
 
90 91
 # build Cubieboard2 SD card image
91 92
 cubieboard2: prep
92
-	$(eval ARCHITECTURE = armhf)
93
-	$(eval MACHINE = cubieboard2)
94
-	$(MAKE_IMAGE)
95
-	$(TAR) $(ARCHIVE) $(IMAGE)
96
-	@echo ""
97
-	$(SIGN)
98
-	@echo "Build complete."
93
+    $(eval ARCHITECTURE = armhf)
94
+    $(eval MACHINE = cubieboard2)
95
+    $(MAKE_IMAGE)
96
+    $(TAR) $(ARCHIVE) $(IMAGE)
97
+    @echo ""
98
+    $(SIGN)
99
+    @echo "Build complete."
99 100
 
100 101
 # build CubieTruck SD card image
101 102
 cubietruck: prep
102
-	$(eval ARCHITECTURE = armhf)
103
-	$(eval MACHINE = cubietruck)
104
-	$(MAKE_IMAGE)
105
-	$(TAR) $(ARCHIVE) $(IMAGE)
106
-	@echo ""
107
-	$(SIGN)
108
-	@echo "Build complete."
103
+    $(eval ARCHITECTURE = armhf)
104
+    $(eval MACHINE = cubietruck)
105
+    $(MAKE_IMAGE)
106
+    $(TAR) $(ARCHIVE) $(IMAGE)
107
+    @echo ""
108
+    $(SIGN)
109
+    @echo "Build complete."
109 110
 
110 111
 # build A20 OLinuXino Lime2 SD card image
111 112
 a20-olinuxino-lime2: prep
112
-	$(eval ARCHITECTURE = armhf)
113
-	$(eval MACHINE = a20-olinuxino-lime2)
114
-	$(MAKE_IMAGE)
115
-	$(TAR) $(ARCHIVE) $(IMAGE)
116
-	@echo ""
117
-	$(SIGN)
118
-	@echo "Build complete."
113
+    $(eval ARCHITECTURE = armhf)
114
+    $(eval MACHINE = a20-olinuxino-lime2)
115
+    $(MAKE_IMAGE)
116
+    $(TAR) $(ARCHIVE) $(IMAGE)
117
+    @echo ""
118
+    $(SIGN)
119
+    @echo "Build complete."
119 120
 
120 121
 # build an i386 image
121 122
 i386: prep
122
-	$(eval ARCHITECTURE = i386)
123
-	$(eval MACHINE = all)
124
-	$(MAKE_IMAGE)
125
-	$(TAR) $(ARCHIVE) $(IMAGE)
126
-	@echo ""
127
-	$(SIGN)
128
-	@echo "Build complete."
123
+    $(eval ARCHITECTURE = i386)
124
+    $(eval MACHINE = all)
125
+    $(MAKE_IMAGE)
126
+    $(TAR) $(ARCHIVE) $(IMAGE)
127
+    @echo ""
128
+    $(SIGN)
129
+    @echo "Build complete."
129 130
 
130 131
 # build an amd64 image
131 132
 amd64: prep
132
-	$(eval ARCHITECTURE = amd64)
133
-	$(eval MACHINE = all)
134
-	$(MAKE_IMAGE)
135
-	$(TAR) $(ARCHIVE) $(IMAGE)
136
-	@echo ""
137
-	$(SIGN)
138
-	@echo "Build complete."
133
+    $(eval ARCHITECTURE = amd64)
134
+    $(eval MACHINE = all)
135
+    $(MAKE_IMAGE)
136
+    $(TAR) $(ARCHIVE) $(IMAGE)
137
+    @echo ""
138
+    $(SIGN)
139
+    @echo "Build complete."
139 140
 
140 141
 # build a virtualbox image
141 142
 virtualbox: virtualbox-i386
142 143
 
143 144
 virtualbox-i386: prep
144
-	$(eval ARCHITECTURE = i386)
145
-	$(eval MACHINE = virtualbox)
146
-	$(MAKE_IMAGE)
147
-	# Convert image to vdi hard drive
148
-	VBoxManage convertdd $(NAME).img $(NAME).vdi
149
-	$(TAR) $(ARCHIVE) $(NAME).vdi
150
-	@echo ""
151
-	$(SIGN)
152
-	@echo "Build complete."
145
+    $(eval ARCHITECTURE = i386)
146
+    $(eval MACHINE = virtualbox)
147
+    $(MAKE_IMAGE)
148
+    # Convert image to vdi hard drive
149
+    VBoxManage convertdd $(NAME).img $(NAME).vdi
150
+    $(TAR) $(ARCHIVE) $(NAME).vdi
151
+    @echo ""
152
+    $(SIGN)
153
+    @echo "Build complete."
153 154
 
154 155
 virtualbox-amd64: prep
155
-	$(eval ARCHITECTURE = amd64)
156
-	$(eval MACHINE = virtualbox)
157
-	$(MAKE_IMAGE)
158
-	# Convert image to vdi hard drive
159
-	VBoxManage convertdd $(NAME).img $(NAME).vdi
160
-	$(TAR) $(ARCHIVE) $(NAME).vdi
161
-	@echo ""
162
-	$(SIGN)
163
-	@echo "Build complete."
156
+    $(eval ARCHITECTURE = amd64)
157
+    $(eval MACHINE = virtualbox)
158
+    $(MAKE_IMAGE)
159
+    # Convert image to vdi hard drive
160
+    VBoxManage convertdd $(NAME).img $(NAME).vdi
161
+    $(TAR) $(ARCHIVE) $(NAME).vdi
162
+    @echo ""
163
+    $(SIGN)
164
+    @echo "Build complete."
164 165
 
165 166
 test: test-virtualbox
166 167
 
167 168
 test-virtualbox: virtualbox
168
-	$(eval VM_NAME = $(PROJECT_NAME)-test)
169
-	VBoxManage createvm --name $(VM_NAME) --ostype "Debian" --register
170
-	VBoxManage storagectl $(VM_NAME) --name "SATA Controller" --add sata \
171
-		 --controller IntelAHCI
172
-	VBoxManage storageattach $(VM_NAME) --storagectl "SATA Controller" \
173
-		--port 0 --device 0 --type hdd --medium $(NAME).vdi
174
-	VBoxManage modifyvm $(VM_NAME) --pae on --memory 1024 --vram 128 \
175
-		--nic1 nat --natpf1 ,tcp,,$(TEST_SSH_PORT),,22
176
-	VBoxManage startvm $(VM_NAME) --type headless
177
-	sleep $(TEST_FIRSTRUN_WAIT_TIME) # wait for first-run to complete
178
-	echo frdm |sshpass -p frdm ssh -o UserKnownHostsFile=/dev/null \
179
-		-o StrictHostKeyChecking=no -t -t \
180
-		-p $(TEST_SSH_PORT) fbx@127.0.0.1 \
181
-		"sudo plinth --diagnose" \
182
-		|tee build/$(VM_NAME)-results_$(TODAY).log
183
-	VBoxManage controlvm $(VM_NAME) poweroff
184
-	VBoxManage modifyvm $(VM_NAME) --hda none
185
-	VBoxManage unregistervm $(VM_NAME) --delete
169
+    $(eval VM_NAME = $(PROJECT_NAME)-test)
170
+    VBoxManage createvm --name $(VM_NAME) --ostype "Debian" --register
171
+    VBoxManage storagectl $(VM_NAME) --name "SATA Controller" --add sata \
172
+         --controller IntelAHCI
173
+    VBoxManage storageattach $(VM_NAME) --storagectl "SATA Controller" \
174
+        --port 0 --device 0 --type hdd --medium $(NAME).vdi
175
+    VBoxManage modifyvm $(VM_NAME) --pae on --memory 1024 --vram 128 \
176
+        --nic1 nat --natpf1 ,tcp,,$(TEST_SSH_PORT),,22
177
+    VBoxManage startvm $(VM_NAME) --type headless
178
+    sleep $(TEST_FIRSTRUN_WAIT_TIME) # wait for first-run to complete
179
+    echo frdm |sshpass -p frdm ssh -o UserKnownHostsFile=/dev/null \
180
+        -o StrictHostKeyChecking=no -t -t \
181
+        -p $(TEST_SSH_PORT) fbx@127.0.0.1 \
182
+        "sudo plinth --diagnose" \
183
+        |tee build/$(VM_NAME)-results_$(TODAY).log
184
+    VBoxManage controlvm $(VM_NAME) poweroff
185
+    VBoxManage modifyvm $(VM_NAME) --hda none
186
+    VBoxManage unregistervm $(VM_NAME) --delete
186 187
 
187 188
 # build a qemu image
188 189
 qemu: qemu-i386
189 190
 
190 191
 qemu-i386: prep
191
-	$(eval ARCHITECTURE = i386)
192
-	$(eval MACHINE = qemu)
193
-	$(MAKE_IMAGE)
194
-	# Convert image to qemu format
195
-	qemu-img convert -O qcow2 $(NAME).img $(NAME).qcow2
196
-	$(TAR) $(ARCHIVE) $(NAME).qcow2
197
-	@echo ""
198
-	$(SIGN)
199
-	@echo "Build complete."
192
+    $(eval ARCHITECTURE = i386)
193
+    $(eval MACHINE = qemu)
194
+    $(MAKE_IMAGE)
195
+    # Convert image to qemu format
196
+    qemu-img convert -O qcow2 $(NAME).img $(NAME).qcow2
197
+    $(TAR) $(ARCHIVE) $(NAME).qcow2
198
+    @echo ""
199
+    $(SIGN)
200
+    @echo "Build complete."
200 201
 
201 202
 qemu-x86_64: prep
202
-	$(eval ARCHITECTURE = x86_64)
203
-	$(eval MACHINE = qemu)
204
-	$(MAKE_IMAGE)
205
-	# Convert image to qemu format
206
-	qemu-img convert -O qcow2 $(NAME).img $(NAME).qcow2
207
-	$(TAR) $(ARCHIVE) $(NAME).qcow2
208
-	@echo ""
209
-	$(SIGN)
210
-	@echo "Build complete."
203
+    $(eval ARCHITECTURE = x86_64)
204
+    $(eval MACHINE = qemu)
205
+    $(MAKE_IMAGE)
206
+    # Convert image to qemu format
207
+    qemu-img convert -O qcow2 $(NAME).img $(NAME).qcow2
208
+    $(TAR) $(ARCHIVE) $(NAME).qcow2
209
+    @echo ""
210
+    $(SIGN)
211
+    @echo "Build complete."
211 212
 
212 213
 vendor/vmdebootstrap/vmdebootstrap: vendor-patches/vmdebootstrap/*.patch
213
-	freedombone-image-vmdebootstrap
214
+    freedombone-image-vmdebootstrap
214 215
 
215 216
 prep: vendor/vmdebootstrap/vmdebootstrap
216
-	mkdir -p build
217
+    mkdir -p build
217 218
 
218 219
 clean:
219
-	-rm -f build/$(PROJECT_NAME).log
220
+    -rm -f build/$(PROJECT_NAME).log
220 221
 
221 222
 distclean: clean
222
-	sudo rm -rf build
223
+    sudo rm -rf build