55 lines
1.5 KiB
Bash
Executable File
55 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
DIR=$(dirname "$(readlink -f "$0")")
|
|
. "$DIR/../env.sh"
|
|
|
|
# tips
|
|
# 1. to relocate default pool
|
|
# ```
|
|
# virsh pool-destroy default
|
|
# virsh pool-edit default # modify the `update` node
|
|
# virsh pool-start default
|
|
# ```
|
|
# 2. create non-preallocated storage image file (slower performance but smaller size for copying)
|
|
# `qemu-img create -o preallocation=off -f qcow2 /path/to/img.qcow2 10G`
|
|
# 3. connecting to guest os prerequiste: use system session / guest nic source uses NAT
|
|
|
|
|
|
# install tools for kvm
|
|
case "$PM" in
|
|
apt)
|
|
#sudo apt install libvirt-daemon-system libvirt-clients virt-manager bridge-utils
|
|
# cli
|
|
case "$DISTRIB_CODENAME" in
|
|
xenial)
|
|
sudo apt install -y qemu-kvm libvirt-bin bridge-utils cpu-checker
|
|
;;
|
|
focal|bionic)
|
|
sudo apt install -y libvirt-daemon-system libvirt-clients cpu-checker
|
|
;;
|
|
*)
|
|
echo "unsupported os"
|
|
exit 1
|
|
;;
|
|
esac
|
|
kvm-ok
|
|
# gui
|
|
if [ -n "$DISPLAY" ] ;then
|
|
sudo apt install -y virt-manager
|
|
else
|
|
sudo apt install -y virtinst
|
|
fi
|
|
;;
|
|
pacman)
|
|
# TODO
|
|
sudo pacman -S --noconfirm --needed \
|
|
qemu libvirt virt-manager
|
|
;;
|
|
esac
|
|
|
|
# configuration
|
|
sudo usermod -aG libvirt "$USER"
|
|
|
|
echo install [spice-guest-tools] on guest os for auto resolution adjustment
|