52 lines
1.5 KiB
Bash
Executable File
52 lines
1.5 KiB
Bash
Executable File
#!/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
|