#!/bin/sh set -exu disk_size=4G dl_alpine() { tmpdir="$(mktemp --directory)" trap "rm $tmpdir" EXIT pushd "$tmpdir" # Setup GPG wget 'https://alpinelinux.org/keys/ncopa.asc' gpg --import ncopa.asc wget 'https://dl-cdn.alpinelinux.org/alpine/v3.15/releases/x86_64/alpine-virt-3.15.4-x86_64.iso' 'https://dl-cdn.alpinelinux.org/alpine/v3.15/releases/x86_64/alpine-virt-3.15.4-x86_64.iso.asc' gpg --verify alpine-virt-3.15.4-x86_64.iso.asc alpine-virt-3.15.4-x86_64.iso # Cleanup popd mv "$tmpdir/alpine-virt-3.15.4-x86_64.iso" . rm "$tmpdir/alpine-virt-3.15.4-x86_64.iso.asc" "$tmpdir/ncopa.asc" rmdir "$tmpdir" trap - EXIT } test -f alpine-virt-3.15.4-x86_64.iso || dl_alpine # Clean old disk test -f dummydisk.img && rm dummydisk.img qemu-img create -f raw dummydisk.img "$disk_size" # Launch installation # Basic VM is sufficient qemu-system-x86_64 -enable-kvm -m 2G -cdrom alpine-virt-3.15.4-x86_64.iso -drive media=disk,format=raw,file=dummydisk.img # Now the user has to run installation from the VM. See ./alpine_install for details.