Improve the README

Add requirements, how to guide, etc.
This commit is contained in:
lukas 2023-02-11 22:26:37 +01:00
parent 1c4f5131d9
commit d7efbcc72c

View File

@ -1,5 +1,41 @@
# Libvirt-friendly definitions for common operating systems
Libvirt, the most common virtualization library on Linux, uses XML to store definitions of virtual machines.
Libvirt, the most common virtualization library on Linux, uses XML to store the definition of a virtual machine.
This repository's goal is to maintain definitions that are optimized for running common operating systems.
[The reference Domain XML format webpage](https://libvirt.org/formatdomain.html), which lists most of the accepted parameters that can be used to define a virtual machine, is almost 100 pages long. It is daunting to pick the most optimized parameters for running a particular guest operating system (OS) well.
This repository's goal is to maintain definitions that are tuned for running modern OS, leveraging as many paravirtualized devices (virtio) the target guest OS support.
## Requirements
It is expected that libvirt and other dependencies such as QEMU are already installed and that such tools are already correctly configured.
* At least QEMU emulator version 7.0.0
* At least libvirt 8.6.0
## How to use it
* Clone this repository locally
### Session-driven virtual machines
* Navigate to the session directory
* Choose your target OS of choice and, as a normal user, use the following `virsh` command to define a virtual machine:
```
$ virsh define linux.xml
```
### System-driven virtual machines
* Navigate to the system directory
* Choose your target OS of choice and, as a root user, use the following `virsh` command to define a virtual machine:
```
# virsh define linux.xml
```
## Ressources
* Domain XML format for libvirt: https://libvirt.org/formatdomain.html
* qemu:///system vs qemu:///session, a great article by Cole Robinson: https://blog.wikichoon.com/2016/01/qemusystem-vs-qemusession.html