Bob Mottram 9 vuotta sitten
vanhempi
commit
975de7039c
2 muutettua tiedostoa jossa 113 lisäystä ja 102 poistoa
  1. 11
    1
      src/freedombone-image
  2. 102
    101
      src/freedombone-image-makefile

+ 11
- 1
src/freedombone-image Näytä tiedosto

50
 VMDEBOOTSTRAP_VERSION=0.8
50
 VMDEBOOTSTRAP_VERSION=0.8
51
 MAKEFILE=${PROJECT_NAME}-image-makefile
51
 MAKEFILE=${PROJECT_NAME}-image-makefile
52
 IMAGE_SIZE=4G
52
 IMAGE_SIZE=4G
53
+IMAGE_TYPE='full'
53
 
54
 
54
 USERNAME=$(echo $USER)
55
 USERNAME=$(echo $USER)
55
 PASSWORD=
56
 PASSWORD=
258
 chown -R $CURR_USER:$CURR_USER $BUILD_DIR
259
 chown -R $CURR_USER:$CURR_USER $BUILD_DIR
259
 cd $BUILD_DIR
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
 cd $BUILD_DIR
270
 cd $BUILD_DIR
262
 make $IMAGE_TYPE \
271
 make $IMAGE_TYPE \
263
     USERNAME="$USERNAME" \
272
     USERNAME="$USERNAME" \
273
     GENERIC_IMAGE="$GENERIC_IMAGE" \
282
     GENERIC_IMAGE="$GENERIC_IMAGE" \
274
     MINIMAL_INSTALL="$MINIMAL_INSTALL" \
283
     MINIMAL_INSTALL="$MINIMAL_INSTALL" \
275
     SSH_PORT="$SSH_PORT" \
284
     SSH_PORT="$SSH_PORT" \
276
-    ONION_ONLY="$ONION_ONLY"
285
+    ONION_ONLY="$ONION_ONLY" \
286
+    IMAGE_TYPE="$IMAGE_TYPE"
277
 
287
 
278
 if [ ! "$?" = "0" ]; then
288
 if [ ! "$?" = "0" ]; then
279
     echo $'Build failed'
289
     echo $'Build failed'

+ 102
- 101
src/freedombone-image-makefile Näytä tiedosto

30
 MIRROR ?= http://httpredir.debian.org/debian
30
 MIRROR ?= http://httpredir.debian.org/debian
31
 BUILD_MIRROR ?= http://httpredir.debian.org/debian
31
 BUILD_MIRROR ?= http://httpredir.debian.org/debian
32
 IMAGE_SIZE ?= 8G
32
 IMAGE_SIZE ?= 8G
33
+IMAGE_TYPE ?= 'full'
33
 SUITE ?= jessie
34
 SUITE ?= jessie
34
 # include source packages in image?
35
 # include source packages in image?
35
 SOURCE ?= false
36
 SOURCE ?= false
37
 # yes no
38
 # yes no
38
 BUILD = $(MACHINE)-$(ARCHITECTURE)
39
 BUILD = $(MACHINE)-$(ARCHITECTURE)
39
 TODAY := $(shell date +%Y-%m-%d)
40
 TODAY := $(shell date +%Y-%m-%d)
40
-NAME = build/$(PROJECT_NAME)-$(TODAY)_$(BUILD)
41
+NAME = build/$(PROJECT_NAME)-$(IMAGE_TYPE)-$(TODAY)_$(BUILD)
41
 IMAGE = $(NAME).img
42
 IMAGE = $(NAME).img
42
 ARCHIVE = $(NAME).tar.bz2
43
 ARCHIVE = $(NAME).tar.bz2
43
 SIGNATURE = $(ARCHIVE).sig
44
 SIGNATURE = $(ARCHIVE).sig
79
 
80
 
80
 # build Beaglebone SD card image
81
 # build Beaglebone SD card image
81
 beaglebone: prep
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
 # build Cubieboard2 SD card image
91
 # build Cubieboard2 SD card image
91
 cubieboard2: prep
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
 # build CubieTruck SD card image
101
 # build CubieTruck SD card image
101
 cubietruck: prep
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
 # build A20 OLinuXino Lime2 SD card image
111
 # build A20 OLinuXino Lime2 SD card image
111
 a20-olinuxino-lime2: prep
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
 # build an i386 image
121
 # build an i386 image
121
 i386: prep
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
 # build an amd64 image
131
 # build an amd64 image
131
 amd64: prep
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
 # build a virtualbox image
141
 # build a virtualbox image
141
 virtualbox: virtualbox-i386
142
 virtualbox: virtualbox-i386
142
 
143
 
143
 virtualbox-i386: prep
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
 virtualbox-amd64: prep
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
 test: test-virtualbox
166
 test: test-virtualbox
166
 
167
 
167
 test-virtualbox: virtualbox
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
 # build a qemu image
188
 # build a qemu image
188
 qemu: qemu-i386
189
 qemu: qemu-i386
189
 
190
 
190
 qemu-i386: prep
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
 qemu-x86_64: prep
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
 vendor/vmdebootstrap/vmdebootstrap: vendor-patches/vmdebootstrap/*.patch
213
 vendor/vmdebootstrap/vmdebootstrap: vendor-patches/vmdebootstrap/*.patch
213
-	freedombone-image-vmdebootstrap
214
+    freedombone-image-vmdebootstrap
214
 
215
 
215
 prep: vendor/vmdebootstrap/vmdebootstrap
216
 prep: vendor/vmdebootstrap/vmdebootstrap
216
-	mkdir -p build
217
+    mkdir -p build
217
 
218
 
218
 clean:
219
 clean:
219
-	-rm -f build/$(PROJECT_NAME).log
220
+    -rm -f build/$(PROJECT_NAME).log
220
 
221
 
221
 distclean: clean
222
 distclean: clean
222
-	sudo rm -rf build
223
+    sudo rm -rf build