#!/bin/sh IMAGE_NAME="${IMAGE_NAME:=alpine-vm}" IMAGE_SIZE="${IMAGE_SIZE:-512M}" IMAGE_FORMAT="${IMAGE_FORMAT:=raw}" ALPINE_BRANCH="${ALPINE_BRANCH:=latest-stable}" KERNEL_FLAVOR="${KERNEL_FLAVOR:=virt}" IMAGE_FILE="vm.${IMAGE_FORMAT}" SCRIPT_DIR="$PWD" OVERLAY_DIR="${SCRIPT_DIR}/overlay" CONFIGURE_SH="${SCRIPT_DIR}/configure.sh" TMP=$(mktemp) modprobe nbd max_parts=8 && [ -e /dev/nbd0 ] || mknod /dev/nbd0 b 43 0 cleanup() { rm $TMP } trap cleanup INT TERM EXIT # We use BIOS here to skip creating partitions alpine-make-vm-image \ --boot-mode "BIOS" \ --branch "$ALPINE_BRANCH" \ --image-format "$IMAGE_FORMAT" \ --image-size "$IMAGE_SIZE" \ --kernel-flavor "$KERNEL_FLAVOR" \ --serial-console \ --fs-skel-dir "$OVERLAY_DIR" \ --fs-skel-chown root:root \ --script-chroot \ --packages "git curl docker cronie openssh" \ "$IMAGE_FILE" \ "$CONFIGURE_SH" | tee $TMP if grep -q "ERROR" $TMP; then echo "BUILD FAILED" exit 114514 fi