Image type
This commit is contained in:
parent
58b37a35b9
commit
975de7039c
|
@ -50,6 +50,7 @@ VMDEBOOTSTRAP_REPO=git://git.liw.fi/vmdebootstrap
|
|||
VMDEBOOTSTRAP_VERSION=0.8
|
||||
MAKEFILE=${PROJECT_NAME}-image-makefile
|
||||
IMAGE_SIZE=4G
|
||||
IMAGE_TYPE='full'
|
||||
|
||||
USERNAME=$(echo $USER)
|
||||
PASSWORD=
|
||||
|
@ -258,6 +259,14 @@ rm -rf $BUILD_DIR/vendor
|
|||
chown -R $CURR_USER:$CURR_USER $BUILD_DIR
|
||||
cd $BUILD_DIR
|
||||
|
||||
if [[ $MINIMAL_INSTALL == "yes" ]]; then
|
||||
IMAGE_TYPE='min'
|
||||
fi
|
||||
|
||||
if [[ $ONION_ONLY != "no" ]]; then
|
||||
IMAGE_TYPE='onion'
|
||||
fi
|
||||
|
||||
cd $BUILD_DIR
|
||||
make $IMAGE_TYPE \
|
||||
USERNAME="$USERNAME" \
|
||||
|
@ -273,7 +282,8 @@ make $IMAGE_TYPE \
|
|||
GENERIC_IMAGE="$GENERIC_IMAGE" \
|
||||
MINIMAL_INSTALL="$MINIMAL_INSTALL" \
|
||||
SSH_PORT="$SSH_PORT" \
|
||||
ONION_ONLY="$ONION_ONLY"
|
||||
ONION_ONLY="$ONION_ONLY" \
|
||||
IMAGE_TYPE="$IMAGE_TYPE"
|
||||
|
||||
if [ ! "$?" = "0" ]; then
|
||||
echo $'Build failed'
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
MIRROR ?= http://httpredir.debian.org/debian
|
||||
BUILD_MIRROR ?= http://httpredir.debian.org/debian
|
||||
IMAGE_SIZE ?= 8G
|
||||
IMAGE_TYPE ?= 'full'
|
||||
SUITE ?= jessie
|
||||
# include source packages in image?
|
||||
SOURCE ?= false
|
||||
|
@ -37,7 +38,7 @@ SOURCE ?= false
|
|||
# yes no
|
||||
BUILD = $(MACHINE)-$(ARCHITECTURE)
|
||||
TODAY := $(shell date +%Y-%m-%d)
|
||||
NAME = build/$(PROJECT_NAME)-$(TODAY)_$(BUILD)
|
||||
NAME = build/$(PROJECT_NAME)-$(IMAGE_TYPE)-$(TODAY)_$(BUILD)
|
||||
IMAGE = $(NAME).img
|
||||
ARCHIVE = $(NAME).tar.bz2
|
||||
SIGNATURE = $(ARCHIVE).sig
|
||||
|
@ -79,144 +80,144 @@ MAKE_IMAGE = ARCHITECTURE=$(ARCHITECTURE) MACHINE=$(MACHINE) SOURCE=$(SOURCE) \
|
|||
|
||||
# build Beaglebone SD card image
|
||||
beaglebone: prep
|
||||
$(eval ARCHITECTURE = armhf)
|
||||
$(eval MACHINE = beaglebone)
|
||||
$(MAKE_IMAGE)
|
||||
$(TAR) $(ARCHIVE) $(IMAGE)
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
$(eval ARCHITECTURE = armhf)
|
||||
$(eval MACHINE = beaglebone)
|
||||
$(MAKE_IMAGE)
|
||||
$(TAR) $(ARCHIVE) $(IMAGE)
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
|
||||
# build Cubieboard2 SD card image
|
||||
cubieboard2: prep
|
||||
$(eval ARCHITECTURE = armhf)
|
||||
$(eval MACHINE = cubieboard2)
|
||||
$(MAKE_IMAGE)
|
||||
$(TAR) $(ARCHIVE) $(IMAGE)
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
$(eval ARCHITECTURE = armhf)
|
||||
$(eval MACHINE = cubieboard2)
|
||||
$(MAKE_IMAGE)
|
||||
$(TAR) $(ARCHIVE) $(IMAGE)
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
|
||||
# build CubieTruck SD card image
|
||||
cubietruck: prep
|
||||
$(eval ARCHITECTURE = armhf)
|
||||
$(eval MACHINE = cubietruck)
|
||||
$(MAKE_IMAGE)
|
||||
$(TAR) $(ARCHIVE) $(IMAGE)
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
$(eval ARCHITECTURE = armhf)
|
||||
$(eval MACHINE = cubietruck)
|
||||
$(MAKE_IMAGE)
|
||||
$(TAR) $(ARCHIVE) $(IMAGE)
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
|
||||
# build A20 OLinuXino Lime2 SD card image
|
||||
a20-olinuxino-lime2: prep
|
||||
$(eval ARCHITECTURE = armhf)
|
||||
$(eval MACHINE = a20-olinuxino-lime2)
|
||||
$(MAKE_IMAGE)
|
||||
$(TAR) $(ARCHIVE) $(IMAGE)
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
$(eval ARCHITECTURE = armhf)
|
||||
$(eval MACHINE = a20-olinuxino-lime2)
|
||||
$(MAKE_IMAGE)
|
||||
$(TAR) $(ARCHIVE) $(IMAGE)
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
|
||||
# build an i386 image
|
||||
i386: prep
|
||||
$(eval ARCHITECTURE = i386)
|
||||
$(eval MACHINE = all)
|
||||
$(MAKE_IMAGE)
|
||||
$(TAR) $(ARCHIVE) $(IMAGE)
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
$(eval ARCHITECTURE = i386)
|
||||
$(eval MACHINE = all)
|
||||
$(MAKE_IMAGE)
|
||||
$(TAR) $(ARCHIVE) $(IMAGE)
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
|
||||
# build an amd64 image
|
||||
amd64: prep
|
||||
$(eval ARCHITECTURE = amd64)
|
||||
$(eval MACHINE = all)
|
||||
$(MAKE_IMAGE)
|
||||
$(TAR) $(ARCHIVE) $(IMAGE)
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
$(eval ARCHITECTURE = amd64)
|
||||
$(eval MACHINE = all)
|
||||
$(MAKE_IMAGE)
|
||||
$(TAR) $(ARCHIVE) $(IMAGE)
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
|
||||
# build a virtualbox image
|
||||
virtualbox: virtualbox-i386
|
||||
|
||||
virtualbox-i386: prep
|
||||
$(eval ARCHITECTURE = i386)
|
||||
$(eval MACHINE = virtualbox)
|
||||
$(MAKE_IMAGE)
|
||||
# Convert image to vdi hard drive
|
||||
VBoxManage convertdd $(NAME).img $(NAME).vdi
|
||||
$(TAR) $(ARCHIVE) $(NAME).vdi
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
$(eval ARCHITECTURE = i386)
|
||||
$(eval MACHINE = virtualbox)
|
||||
$(MAKE_IMAGE)
|
||||
# Convert image to vdi hard drive
|
||||
VBoxManage convertdd $(NAME).img $(NAME).vdi
|
||||
$(TAR) $(ARCHIVE) $(NAME).vdi
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
|
||||
virtualbox-amd64: prep
|
||||
$(eval ARCHITECTURE = amd64)
|
||||
$(eval MACHINE = virtualbox)
|
||||
$(MAKE_IMAGE)
|
||||
# Convert image to vdi hard drive
|
||||
VBoxManage convertdd $(NAME).img $(NAME).vdi
|
||||
$(TAR) $(ARCHIVE) $(NAME).vdi
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
$(eval ARCHITECTURE = amd64)
|
||||
$(eval MACHINE = virtualbox)
|
||||
$(MAKE_IMAGE)
|
||||
# Convert image to vdi hard drive
|
||||
VBoxManage convertdd $(NAME).img $(NAME).vdi
|
||||
$(TAR) $(ARCHIVE) $(NAME).vdi
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
|
||||
test: test-virtualbox
|
||||
|
||||
test-virtualbox: virtualbox
|
||||
$(eval VM_NAME = $(PROJECT_NAME)-test)
|
||||
VBoxManage createvm --name $(VM_NAME) --ostype "Debian" --register
|
||||
VBoxManage storagectl $(VM_NAME) --name "SATA Controller" --add sata \
|
||||
--controller IntelAHCI
|
||||
VBoxManage storageattach $(VM_NAME) --storagectl "SATA Controller" \
|
||||
--port 0 --device 0 --type hdd --medium $(NAME).vdi
|
||||
VBoxManage modifyvm $(VM_NAME) --pae on --memory 1024 --vram 128 \
|
||||
--nic1 nat --natpf1 ,tcp,,$(TEST_SSH_PORT),,22
|
||||
VBoxManage startvm $(VM_NAME) --type headless
|
||||
sleep $(TEST_FIRSTRUN_WAIT_TIME) # wait for first-run to complete
|
||||
echo frdm |sshpass -p frdm ssh -o UserKnownHostsFile=/dev/null \
|
||||
-o StrictHostKeyChecking=no -t -t \
|
||||
-p $(TEST_SSH_PORT) fbx@127.0.0.1 \
|
||||
"sudo plinth --diagnose" \
|
||||
|tee build/$(VM_NAME)-results_$(TODAY).log
|
||||
VBoxManage controlvm $(VM_NAME) poweroff
|
||||
VBoxManage modifyvm $(VM_NAME) --hda none
|
||||
VBoxManage unregistervm $(VM_NAME) --delete
|
||||
$(eval VM_NAME = $(PROJECT_NAME)-test)
|
||||
VBoxManage createvm --name $(VM_NAME) --ostype "Debian" --register
|
||||
VBoxManage storagectl $(VM_NAME) --name "SATA Controller" --add sata \
|
||||
--controller IntelAHCI
|
||||
VBoxManage storageattach $(VM_NAME) --storagectl "SATA Controller" \
|
||||
--port 0 --device 0 --type hdd --medium $(NAME).vdi
|
||||
VBoxManage modifyvm $(VM_NAME) --pae on --memory 1024 --vram 128 \
|
||||
--nic1 nat --natpf1 ,tcp,,$(TEST_SSH_PORT),,22
|
||||
VBoxManage startvm $(VM_NAME) --type headless
|
||||
sleep $(TEST_FIRSTRUN_WAIT_TIME) # wait for first-run to complete
|
||||
echo frdm |sshpass -p frdm ssh -o UserKnownHostsFile=/dev/null \
|
||||
-o StrictHostKeyChecking=no -t -t \
|
||||
-p $(TEST_SSH_PORT) fbx@127.0.0.1 \
|
||||
"sudo plinth --diagnose" \
|
||||
|tee build/$(VM_NAME)-results_$(TODAY).log
|
||||
VBoxManage controlvm $(VM_NAME) poweroff
|
||||
VBoxManage modifyvm $(VM_NAME) --hda none
|
||||
VBoxManage unregistervm $(VM_NAME) --delete
|
||||
|
||||
# build a qemu image
|
||||
qemu: qemu-i386
|
||||
|
||||
qemu-i386: prep
|
||||
$(eval ARCHITECTURE = i386)
|
||||
$(eval MACHINE = qemu)
|
||||
$(MAKE_IMAGE)
|
||||
# Convert image to qemu format
|
||||
qemu-img convert -O qcow2 $(NAME).img $(NAME).qcow2
|
||||
$(TAR) $(ARCHIVE) $(NAME).qcow2
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
$(eval ARCHITECTURE = i386)
|
||||
$(eval MACHINE = qemu)
|
||||
$(MAKE_IMAGE)
|
||||
# Convert image to qemu format
|
||||
qemu-img convert -O qcow2 $(NAME).img $(NAME).qcow2
|
||||
$(TAR) $(ARCHIVE) $(NAME).qcow2
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
|
||||
qemu-x86_64: prep
|
||||
$(eval ARCHITECTURE = x86_64)
|
||||
$(eval MACHINE = qemu)
|
||||
$(MAKE_IMAGE)
|
||||
# Convert image to qemu format
|
||||
qemu-img convert -O qcow2 $(NAME).img $(NAME).qcow2
|
||||
$(TAR) $(ARCHIVE) $(NAME).qcow2
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
$(eval ARCHITECTURE = x86_64)
|
||||
$(eval MACHINE = qemu)
|
||||
$(MAKE_IMAGE)
|
||||
# Convert image to qemu format
|
||||
qemu-img convert -O qcow2 $(NAME).img $(NAME).qcow2
|
||||
$(TAR) $(ARCHIVE) $(NAME).qcow2
|
||||
@echo ""
|
||||
$(SIGN)
|
||||
@echo "Build complete."
|
||||
|
||||
vendor/vmdebootstrap/vmdebootstrap: vendor-patches/vmdebootstrap/*.patch
|
||||
freedombone-image-vmdebootstrap
|
||||
freedombone-image-vmdebootstrap
|
||||
|
||||
prep: vendor/vmdebootstrap/vmdebootstrap
|
||||
mkdir -p build
|
||||
mkdir -p build
|
||||
|
||||
clean:
|
||||
-rm -f build/$(PROJECT_NAME).log
|
||||
-rm -f build/$(PROJECT_NAME).log
|
||||
|
||||
distclean: clean
|
||||
sudo rm -rf build
|
||||
sudo rm -rf build
|
||||
|
|
Loading…
Reference in New Issue