/
setup.sh
71 lines (55 loc) · 1.44 KB
/
setup.sh
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/bin/sh
#
if [ $(id -u) -ne 0 ] ; then
echo "Using sudo..." 1>&2
exec sudo /bin/sh "$0" "$@"
fi
vgroup=libvirt
xbps-install -y -S libvirt dbus qemu
echo -n "Enabling services: "
for sv in dbus libvirtd virtlockd virtlogd
do
[ -e /var/service/$sv ] && continue
echo -n " $sv"
ln -s /etc/sv/$sv /var/service
done
echo ' ... done'
if [ -d /sys/module/kvm_intel ] ; then
kvm_variant=kvm_intel
elif [ -d /sys/module/kvm_amd ] ; then
kvm_variant=kvm_amd
else
echo "Unsopported KVM variant" 1>&2
exit 2
fi
case "$(cat /sys/module/$kvm_variant/parameters/nested)" in
1|Y)
echo "Nested virtualization is enabled." 1>&2
;;
*)
echo "Nested virtualization is disabled." 1>&2
cat 1>&2 <<-EOF
To enable add to /etc/modprobe.d/kvm.conf:
options $kvm_variant nested=1
Then:
sudo modprobe -r $kvm_variant
sudo modprobe $kvm_variant
and try again.
EOF
exit 3
esac
if [ -n "${DISPLAY:-}" ] ; then
echo "Using $DISPLAY"
xbps-install -y virt-manager virt-manager-tools
fi
if [ -n "${SUDO_USER:-}" ] ; then
echo "SUDO_USER: $SUDO_USER"
if ! (id -nG $SUDO_USER | grep -q '\b'"$vgroup"'\b') ; then
echo "Adding $SUDO_USER to $vgroup" 1>&2
usermod -a -G "$vgroup" "$SUDO_USER"
echo "You must logout and login again for this to work"
fi
fi
# Note the documentation says that polkitd (from polkit package) needs
# to be enable in /var/service, but that doesn't seem to be the case
# as it starts automatically.