SHELL := /bin/sh # --- configurable ---------------------------------------------------- IMAGE_NAME = alpine-vm IMAGE_SIZE ?= 2G IMAGE_FORMAT = raw ALPINE_BRANCH ?= latest-stable KERNEL_FLAVOR ?= virt #INITFS_FEATURES ?= kms scsi virtio IMAGE_FILE = vm.$(IMAGE_FORMAT) SCRIPT_DIR = $(dir $(realpath $(lastword $(MAKEFILE_LIST)))) OVERLAY_DIR = $(SCRIPT_DIR)/overlay CONFIGURE_SH = $(SCRIPT_DIR)/configure.sh build: @echo ">>> Building $(IMAGE_FILE) ..." @test -f $(OVERLAY_DIR)/root/gpg-key.asc || { \ echo "ERROR: GPG key not found. Generate key first" >&2; \ exit 1; \ } alpine-make-vm-image \ --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 "python3 py3-yaml py3-pydantic git curl gnupg docker docker-cli-buildx docker-cli-compose cronie" \ $(IMAGE_FILE) \ $(CONFIGURE_SH) @echo ">>> Image built: $(IMAGE_FILE)" @ls -lh $(IMAGE_FILE) .PHONY: build