#!/bin/bash # Finalize base VM after installation VM_NAME="archsetup-base" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" BASE_DISK="$PROJECT_ROOT/vm-images/archsetup-base.qcow2" echo "[i] Removing ISO from VM..." virsh --connect qemu:///system change-media $VM_NAME sda --eject 2>/dev/null || true virsh --connect qemu:///system change-media $VM_NAME hda --eject 2>/dev/null || true echo "[✓] ISO removed" echo "[i] Fixing base disk permissions..." sudo chown $USER:$USER "$BASE_DISK" sudo chmod 644 "$BASE_DISK" echo "[✓] Permissions fixed" echo "[i] Starting VM from installed system..." virsh --connect qemu:///system start $VM_NAME echo "[i] Waiting for boot..." sleep 30 IP=$(virsh --connect qemu:///system domifaddr $VM_NAME 2>/dev/null | grep -oP '(\d+\.){3}\d+' | head -1) echo "[✓] Base VM is ready!" echo "" echo "Connect via:" echo " Console: virsh console $VM_NAME" echo " SSH: ssh root@$IP" echo " Password: archsetup" echo "" echo "To create a test clone:" echo " ./scripts/testing/run-test.sh"