KVM

From Alpine Linux

KVM is an open source virtualization solution in a kernel module. KVM can virtualize x86, PowerPC, and S390 guests.

Installing KVM

It is possible to install just qemu and libvirt for local management

sudo apk add qemu-system-x86_64 libvirt

but most users will probably want to manage it via a GUI with virt-manager (remotely or not).

sudo apk add libvirt-daemon dbus polkit

If you want to use other disk image formats than raw, you need qemu-img

sudo apk add qemu-img

Enable the KVM kernel module

sudo modprobe kvm-intel

or

sudo modprobe kvm-amd

Service start on boot

Set libvirtd and dbus to start on startup

sudo rc-update add libvirtd sudo rc-update add dbus

Networking

by defaults kvm use bridge to nat vm, if you want network with the default configuration, you need to load the tun module

sudo modprobe tun

but if you prefer bridging kvm over your ethernet interface, you need to make a bridge

Groups and user

Add your user to the follwing groups so you can mange the vms

sudo addgroup user libvirt

PolicyKit for Remote User

In order to use libvirtd to remotely control KVM over ssh PolicyKit needs a .pkla informing it that this is allowed. Write the following file to /etc/polkit-1/localauthority/50-local.d/50-libvirt-ssh-remote-access-policy.pkla

[Remote libvirt SSH access] Identity=unix-group:libvirt Action=org.libvirt.unix.manage ResultAny=yes ResultInactive=yes ResultActive=yes