add doc for new models and netboot.xyz

This commit is contained in:
lukas 2023-06-21 18:50:11 -05:00
parent 7a78c9cc56
commit fa03a43d4f

View File

@ -4,29 +4,35 @@
This repository's goal is to maintain definitions that are tuned for running modern, GUI-driven guest operating systems (OS), easing their installation on hosts that leverage KVM, such as [Phyllome OS](https://phyllo.me/). This repository's goal is to maintain definitions that are tuned for running modern, GUI-driven guest operating systems (OS), easing their installation on hosts that leverage KVM, such as [Phyllome OS](https://phyllo.me/).
There are two kinds of definition for QEMU: **session-driven** virtual machines, and **system-driven** virtual machines. System-driven virtual machines are running with higher privileges. If one intend to share a physical device with a virtual machine using VFIO passthrough, this is the definition to use. More information [here](https://blog.wikichoon.com/2016/01/qemusystem-vs-qemusession.html).
## Usage ## Usage
### Requirements ### Requirements
It is expected that libvirt and other dependencies such as QEMU or the Cloud Hypervisor are already installed and correctly configured. It is expected that libvirt and other dependencies such as QEMU or the Cloud Hypervisor are already installed and correctly configured.
* At least QEMU emulator version 7.0.0 * At least `QEMU` emulator version 7.0.0
* At least libvirt 8.6.0 * At least `libvirt` 8.6.0
* [Netboot.xyz](https://netboot.xyz/) ISO file under `/var/lib/libvirt/isos`
### How to use it ### How to use it
* Clone this repository locally * Download `Netboot.xyz.iso` file
There are two kinds of definition for QEMU: session-driven virtual machines, and system-driven virtual machines. System-driven virtual machines are running with higher privileges. If one intend to share a physical device with a virtual machine using vfio passthrough, this is the definition to use. More information [here](https://blog.wikichoon.com/2016/01/qemusystem-vs-qemusession.html). ```
# wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso -P /var/lib/libvirt/isos/
```
#### Session-driven QEMU virtual machines * Clone this repository
* Navigate to the session directory * 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: * 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 $ virsh define linux54.xml
Domain 'Linux' defined from linux.xml Domain 'Linux5.4' defined from linux54.xml
``` ```
* List the newly-created virtual machine * List the newly-created virtual machine
@ -35,13 +41,15 @@ Domain 'Linux' defined from linux.xml
$ virsh list --all $ virsh list --all
Id Name State Id Name State
------------------------ ------------------------
- Linux shut off - Linux5.4 shut off
``` ```
* Destroy it * Destroy it
virsh undefine Linux ```
$ virsh undefine Linux5.4
Domain 'Linux' has been undefined Domain 'Linux' has been undefined
```
### System-driven virtual machines ### System-driven virtual machines
@ -49,23 +57,41 @@ Domain 'Linux' has been undefined
* Choose your target OS of choice and, as a root user, use the following `virsh` command to define a virtual machine: * 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 # virsh define linux54.xml
Domain 'Linux5.4' defined from linux54.xml
```
```
# virsh list --all
Id Name State
------------------------
- Linux5.4 shut off
```
* Destroy it
```
# virsh undefine Linux5.4
Domain 'Linux5.4' has been undefined
``` ```
## Status ## Status
| | Linux | Windows | | | Linux 5.4 | Linux 5.15 | Windows 10 | Windows 11 |
| :------------------ | :---------------------------: | :-----------------: | | --- | --- | --- | --- | --- |
| *Chipset* | `Q35` | `Q35` | | *Chipset* | `Q35` | `Q35` | `Q35` | `Q35` |
| *Platform Firmware* | `OVMF` | `OVMF` | | *Platform Firmware* | `OVMF` | `OVMF` | `OVMF` | `OVMF` |
| *`Spice display`* | **Yes**, with 3D | **Yes**, without 3D | | *Secure boot* | No | No | No | **Yes** |
| *`virtio-gpu`* | **Yes**, with 3D | **Yes**, without 3D | | *[Netboot.xyz](https://netboot.xyz/) ISO loaded* | **Yes** | **Yes** | **Yes** | No |
| *`virtio-blk`* | Not applicable | Not applicable | | *`Spice display`* | **Yes**, with 3D accel. | **Yes**, with 3D accel. | **Yes**, without 3D accel. | **Yes**, without 3D accel. |
| *`virtio-scsi`* | **Yes** | **Yes** | | *`virtio-gpu`* | **Yes**, with 3D accel. | **Yes**, with 3D accel. | **Yes**, without 3D accel. | **Yes**, without 3D accel. |
| *`virtio-fs`* | **Yes**, for System-driven VM | **Yes** | | *`virtio-blk`* | Not applicable | Not applicable | Not applicable | Not applicable |
| *`virtio-net`* | **Yes** | **Yes** | | *`virtio-scsi`* | **Yes** | **Yes** | **Yes** | **Yes** |
| *`virtio-keyboard`* | **Yes** | **Yes** | | *`virtio-fs`* | **Yes**, for System-driven VM | **Yes**, for System-driven VM | **Yes** | **Yes** |
| *`virtio-tablet`* | **Yes** | **Yes** | | *`virtio-net`* | **Yes** | **Yes** | **Yes** | **Yes** |
| *`virtio-keyboard`* | **Yes** | **Yes** | **Yes** | **Yes** |
| *`virtio-tablet`* | **Yes** | **Yes** | **Yes** | **Yes** |
| *`virtio-iommu`* | No | **Yes** | No | No |
More information [here](https://wiki.phyllo.me/e/en/virt/guest) on the status for virtio support on guest operating systems. More information [here](https://wiki.phyllo.me/e/en/virt/guest) on the status for virtio support on guest operating systems.