summaryrefslogtreecommitdiff
path: root/scripts/testing/finalize-base-vm.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/testing/finalize-base-vm.sh')
-rwxr-xr-xscripts/testing/finalize-base-vm.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/scripts/testing/finalize-base-vm.sh b/scripts/testing/finalize-base-vm.sh
new file mode 100755
index 0000000..225ffae
--- /dev/null
+++ b/scripts/testing/finalize-base-vm.sh
@@ -0,0 +1,31 @@
+#!/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"