Files
incus-os/scripts/spawn-image
Stéphane Graber b665e2a7e8 Fix IncusOS spelling
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2025-11-04 19:08:22 -05:00

48 lines
1.1 KiB
Bash
Executable File

#!/bin/sh -eu
if [ -z "${1:-}" ]; then
echo "Usage: ${0} NAME"
exit 1
fi
# Check if instance already exists
if incus info "${1}" >/dev/null 2>&1; then
echo "Instance ${1} already exists"
exit 1
fi
# Setup temporary directory
cleanup() {
rm -f IncusOS_*.iso
}
trap cleanup EXIT HUP INT TERM
# Grab and configure the image
INCUSOS_SEED_TAR=test/seed.install.tar INCUSOS_IMAGE_FORMAT=iso incus-osd/flasher-tool
# shellcheck disable=SC2010
IMG_NAME=$(ls IncusOS_*.iso | grep -v usr | grep -v esp | sort | tail -1)
# Create an instance
echo "=> Creating an IncusOS instance"
incus create --vm --empty "${1}" \
-c security.secureboot=false \
-c limits.cpu=4 \
-c limits.memory=8GiB \
-d root,size=50GiB
incus config device add "${1}" vtpm tpm
incus config device add "${1}" boot-media disk source="$(pwd)/${IMG_NAME}" boot.priority=10
echo "=> Starting IncusOS for installation"
incus start "${1}" --console
sleep 5
incus console "${1}"
sleep 5
clear
# Remove install media
incus stop -f "${1}"
incus config device remove "${1}" boot-media
# Start the installed system
echo "=> Starting installed IncusOS"
incus start "${1}" --console