#!/usr/bin/env bash set -euo pipefail # create_disk.sh # # Bouwt de kiosk-ISO, maakt een qcow2-testschijf, schrijft de ISO naar een # fysieke USB-stick, en start daarna een QEMU-testomgeving. set -euo pipefail REPO_DIR="$HOME/Repos/Projects/Aamsveen-Audio-Kiosk" NEW_ISO_PATH="${REPO_DIR}/non-aamsveen-audio-kiosk_v1.iso" QCOW2_PATH="${REPO_DIR}/kiosk-aamsveen.qcow2" USB_DEVICE="/dev/sdb" cd "$REPO_DIR" echo "--> ISO bouwen..." sudo ./build-kiosk-iso-v1.sh echo "--> qcow2-testschijf aanmaken (32G)..." qemu-img create -f qcow2 "$QCOW2_PATH" 32G # LET OP: dd naar een fysiek blockdevice is onomkeerbaar en kan de verkeerde # schijf wissen als USB_DEVICE niet klopt. Controleer eerst met `lsblk` # welke devicenaam je USB-stick heeft voordat je hier bevestigt. echo echo "LET OP: dit schrijft $NEW_ISO_PATH naar $USB_DEVICE." echo "Controleer met 'lsblk' in een andere terminal of dit echt de USB-stick is!" read -rp "Doorgaan met schrijven naar $USB_DEVICE? [j/N] " CONFIRM if [[ "$CONFIRM" =~ ^[jJ]$ ]]; then sudo dd if="$NEW_ISO_PATH" of="$USB_DEVICE" bs=4M status=progress oflag=sync else echo "Schrijven naar USB overgeslagen." fi echo "--> QEMU-testomgeving starten..." qemu-system-x86_64 \ -enable-kvm \ -cpu host \ -smp 4 \ -m 8G \ -boot order=d \ -cdrom "$NEW_ISO_PATH" \ -drive file="$QCOW2_PATH",format=qcow2,if=ide \ -vga std \ -display gtk \ -usb \ -device usb-tablet \ -audiodev pipewire,id=snd0 \ -device intel-hda \ -device hda-duplex,audiodev=snd0