blob: fe17d261f9e33e054ceeee58e814e85921e218b6 (
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#!/bin/bash
# Function to print messages
print_message() {
echo "===================================================================="
echo "$1"
echo "===================================================================="
}
# Update the system
print_message "Updating the system..."
sudo pacman -Syu --noconfirm
# Install necessary packages
print_message "Installing necessary packages..."
sudo pacman -S --noconfirm qemu libvirt virt-manager dnsmasq bridge-utils
# Enable and start the libvirtd service
print_message "Enabling and starting libvirtd service..."
sudo systemctl enable libvirtd.service
sudo systemctl start libvirtd.service
# Add the current user to the libvirt group
CURRENT_USER=$(whoami)
print_message "Adding $CURRENT_USER to the libvirt group..."
sudo usermod -aG libvirt $CURRENT_USER
# Verify virtualization support
print_message "Verifying virtualization support..."
VIRT_SUPPORT=$(egrep -c '(vmx|svm)' /proc/cpuinfo)
if [ "$VIRT_SUPPORT" -gt 0 ]; then
echo "Virtualization is supported."
else
echo "Virtualization is not supported. Please enable it in your BIOS/UEFI settings."
exit 1
fi
# Check if the default network is active and start it if not
print_message "Checking and starting default network..."
DEFAULT_NET_STATUS=$(sudo virsh net-list --all | grep default | awk '{print $2}')
if [ "$DEFAULT_NET_STATUS" != "active" ]; then
sudo virsh net-start default
sudo virsh net-autostart default
fi
# Print final message
print_message "KVM setup is complete. Please log out and log back in to apply the user group changes."
|