34 lines
955 B
Makefile
34 lines
955 B
Makefile
SHELL := /bin/sh
|
|
|
|
# --- configurable ----------------------------------------------------
|
|
IMAGE_NAME = alpine-vm
|
|
IMAGE_SIZE ?= 1G
|
|
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) ..."
|
|
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 "git curl docker docker-cli-buildx docker-cli-compose cronie" \
|
|
$(IMAGE_FILE) \
|
|
$(CONFIGURE_SH)
|
|
@echo ">>> Image built: $(IMAGE_FILE)"
|
|
@ls -lh $(IMAGE_FILE)
|
|
|
|
.PHONY: build
|