summaryrefslogtreecommitdiff
path: root/scripts/testing/finalize-base-vm.sh
blob: 225ffaeffcb3b4a28baa9e048f0e274921cc8925 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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"