wiki/ressources.md
2021-06-23 13:23:51 +00:00

20 KiB
Raw Blame History

title description published date tags editor dateCreated
External ressources A list of external mostly-online ressources around KVM virtualization and related technologies true 2021-06-23T13:23:47.770Z markdown 2021-06-23T12:36:12.051Z

Curated ressources

Meta

Communities

  • To-do

Unsorted

Books

On Linux

  • The Linux Command Line, 2nd Edition: A Complete Introduction
  • Understanding the Linux Kernel 3e
  • Linux System Programming 2ed
  • The Linux Programming Interface: A Linux and UNIX System Programming Handbook (English Edition)

Tools

VMs management

Virt-* tools

Kickstart

Open Build Service (OBS)

  • Our build tool, building all of our packages as well as ones for SUSE Linux Enterprise, Arch, Debian, Fedora, Scientific Linux, RHEL, CentOS, Ubuntu, and more : https://openbuildservice.org/

openQA

  • Automated testing for any operating system, that can read the screen and control the test host the same way a user does : http://open.qa/

YaST

The best/only comprehensive Linux system configuration & installation tool : https://yast.opensuse.org/documentation

Kiwi

Create Linux images for deployment on real hardware, virtualisation, and now even container systems like Docker. Kiwi is the engine that builds the openSUSE release images.

Virtual chipsets

i440fx

Q35

microvm

virt

Devices

Emulated

Paravirtualization

vfio-mdev

vfio-gpu

KVM hypervisors

CROSVM/KVM

Spectrum OS

QEMU/KVM

QEMU virtualization on Fedora host

QEMU virtualization on macOS host

Cloud Hypervisor/KVM

Guests

Android

Lakka

macOS kvm guest

PS4

Themes

Android

Single GPU passthrough

Guides

Package management

Tiny-distro

Communication

Mascot

Funding

NGI Open Calls : https://www.ngi.eu/opencalls/#ngi-zero-pet-opencall

MISC

Desktop environment

Wayland

Virtualization tool

Networking

Bridge

Bridge Wireless Cards

Cloud gaming

Linux KVM

https://thereisnospoon.ews-network.net/posts/fedora-30-win10-nvidia-gpu-passthrough/ https://www.redhat.com/en/blog/all-you-need-know-about-kvm-userspace Windows Gaming on Linux: Single GPU Passthrough Guide https://www.youtube.com/watch?v=3BxAaaRDEEw Using the KVM API https://lwn.net/Articles/658511/ Sparkler: A KVM-based Virtual Machine Manager : https://unixism.net/2019/10/sparkler-kvm-based-virtual-machine-manager/

3D in a VM virtual gpu virtugl virtio-gl virgil

Modes of 3D acceleration in a VM explained

https://www.kraxel.org/blog/2019/09/display-devices-in-qemu/

Intel HAXM

Nested virtualization support : https://github.com/intel/haxm/issues/51

Gitea awesome list

Awesome Gitea : https://gitea.com/gitea/awesome-gitea

Cloud-init

https://wiki.archlinux.org/title/Cloud-init

virt-install --cloud-init support : https://blog.wikichoon.com/2020/09/virt-install-cloud-init.html

KVM server

[2016] Performant Security Hardening of KVM by Steve Rutherford : https://www.youtube.com/watch?v=vj5PA_D03Vg

Great guide : https://github.com/ekistece/Fedora-33-VFIO-guide/

https://mathiashueber.com/performance-tweaks-gaming-on-virtual-machines/

https://www.cyberciti.biz/faq/how-to-install-kvm-on-centos-8-headless-server/

https://ostechnix.com/install-and-configure-kvm-in-ubuntu-20-04-headless-server/

https://www.cyberciti.biz/faq/how-to-install-kvm-on-ubuntu-20-04-lts-headless-server/

https://computingforgeeks.com/how-to-install-kvm-on-fedora/

https://www.server-world.info/en/note?os=CentOS_7&p=kvm&f=10

'virt-host-validate' to check whether QEMU and LXC are setup correctly

https://scottlinux.com/2017/05/10/how-to-enable-iommu-support-in-fedora-linux/

https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF

https://heiko-sieger.info/creating-a-windows-10-vm-on-the-amd-ryzen-9-3900x-using-qemu-4-0-and-vga-passthrough/

https://marzukia.github.io/post/fedora-32-and-gpu-passthrough-vfio/

https://forum.level1techs.com/t/vfio-in-2019-fedora-workstation-general-guide-though-branch-draft/145106

https://marzukia.github.io/post/fedora-32-and-gpu-passthrough-vfio/

https://gitlab.com/Karuri/vfio

https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF

https://www.linux-kvm.org/page/KVM_Features

Libvirt

https://wiki.archlinux.org/title/Libvirt

Guest protection

https://www.computer.org/csdl/proceedings-article/hpca/2018/365901a441/12OmNzkMlRm

https://ipads.se.sjtu.edu.cn/_media/publications/fidelius_hpca18.pdf

Nested virt. with KVM

https://www.rdoxenham.com/?p=275

https://docs.fedoraproject.org/en-US/quick-docs/using-nested-virtualization-in-kvm/

(Mostly) Exitless VM Protection from Untrusted Hypervisor through Disaggregated Nested Virtualization

https://www.usenix.org/conference/usenixsecurity20/presentation/mi

https://www.researchgate.net/publication/261020814_Architecture_support_for_guest-transparent_VM_protection_from_untrusted_hypervisor_and_physical_attacks

Hackintosh

https://dortania.github.io/OpenCore-Install-Guide/installer-guide/linux-install.html#downloading-macos

ACS Override

Security

Secure Boot

https://www.kraxel.org/slides/virtual-secure-boot/#hands-on-libvirt

sVirt

http://www.virtualopensystems.com/en/solutions/guides/kvm-svirt-omap5/ https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/security-enhanced_linux/ch07s02 sVirt: Hardening Linux Virtualization with Mandatory Access Control https://www.youtube.com/watch?v=1e1gHOBduuQ

Qemu

https://qemu.readthedocs.io/en/latest/system/security.html

TPM

https://fossies.org/linux/qemu/docs/specs/tpm.rst

Ideas from hackernews blog post (as used by Red Hat)

  • Aggressively compile out unused features/devices.

  • Confine each VM with separate SELinux contexts (sVirt).

  • Run qemu as a special non-root user.

  • Use seccomp to confine the system calls.

  • Pass in pre-opened file descriptors to qemu, so qemu doesn't need to open files (helps with writing tightly confined SELinux policy).

  • Run qemu in a cgroup.

  • Run qemu-img with resource limits.

  • Compile qemu with all hardening features enabled like RELRO, PIE, etc.

  • Audit the code manually and with Coverity.

  • Take security reports seriously and have a fast patching mechanism (you can effectively "live patch" qemu by migrating a VM off the old qemu and on to the new qemu).

Probably more that I've forgotten about ...

https://news.ycombinator.com/item?id=18588899

Other ressources

ERNW_Hardening_KVM : https://github.com/ernw/hardening/blob/master/hypervisor/kvm/ERNW_Hardening_KVM.md

Security in QEMUHow Virtual Machines provide Isolation : https://vmsplice.net/~stefan/stefanha-kvm-forum-2018.pdf

Qemu hardening with CT: https://www.redhat.com/en/blog/hardening-qemu-through-continuous-security-testing

Headless virtualization

https://www.ostechnix.com/setup-headless-virtualization-server-using-kvm-ubuntu/

https://www.cyberciti.biz/faq/installing-kvm-on-ubuntu-16-04-lts-server/

fedora headless virt group

RESSOURCES Unraid

https://forums.unraid.net/topic/54834-video-guideall-about-docker-in-unraid-docker-principles-and-setup/

https://forums.unraid.net/topic/84226-wireguard-quickstart/

https://forums.unraid.net/topic/80251-unraid-beginners-tutorial/

https://forums.unraid.net/topic/84316-wireguard-vpn-tunneled-access/

https://forums.unraid.net/topic/84226-wireguard-quickstart/

https://vfio.blogspot.com/2014/08/iommu-groups-inside-and-out.html ACS Override

https://forums.unraid.net/topic/51230-video-guidehow-to-pass-through-an-nvidia-gpu-as-primary-or-only-gpu-in-unraid/ gpu primary

Add that line to network boot loader

windows guest tweaking :

https://wiki.unraid.net/UnRAID_6/VM_Guest_Support

Additionally, in case you are using QEMU 4.0 (or higher) in combination with a Q35 chip, the flag ioapic driver='kvm' needs to be added in the features section (see excerpt marked blue). https://mathiashueber.com/fighting-error-43-nvidia-gpu-virtual-machine/

Q35 Versus i440fx

https://www.reddit.com/r/VFIO/comments/5ireij/differencesbenefits_between_i440fx_and_q35/ https://wiki.qemu.org/Features/Q35

TRIM in VM

https://chrisirwin.ca/posts/discard-with-kvm/

Drive options

https://heiko-sieger.info/qemu-system-x86_64-drive-options/

Virtio-FS

https://www.tauceti.blog/post/qemu-kvm-share-host-directory-with-vm-with-virtio/

RAW versus QCOW2

https://www.tutos.snatch-crash.fr/proxmox-raw-vs-qcow2-vs-vmdk/

QCOW Encryption

12f7efd02e

https://libvirt.org/formatstorageencryption.html

https://patchwork.kernel.org/project/qemu-devel/patch/20170210170910.8867-14-berrange@redhat.com/

https://patchwork.kernel.org/project/qemu-devel/patch/20170126101827.22378-13-berrange@redhat.com/

https://www.berrange.com/posts/2015/03/17/qemu-qcow2-built-in-encryption-just-say-no-deprecated-now-to-be-deleted-soon/

SeaBIOS versus edk2

https://mail.coreboot.org/pipermail/seabios/2014-February/007689.html

Snapshot of efi-based VM

https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg05221.html

https://bugzilla.redhat.com/show_bug.cgi?id=1881850

IOMMU Exploit

XML

Intel GVT-g