aboutsummaryrefslogtreecommitdiff
path: root/DOCS.md
blob: 7b97666228f26625d2b78907d31c1b766c7f6c29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# KVMX Documentation

Misc documentation on kvmx and qemu.

## USB hotplug support

* Good to have `usbutils` package in the guest.

* Docs:
  * https://qemu.readthedocs.io/en/latest/system/usb.html
  * https://github.com/qemu/qemu/blob/master/docs/usb2.txt
  * https://wiki.gentoo.org/wiki/QEMU/Windows_guest
  * https://www.linux-kvm.org/page/USB_Host_Device_Assigned_to_Guest
  * https://en.wikibooks.org/wiki/QEMU/Devices/USB/Root
  * https://wiki.archlinux.org/index.php/QEMU#Pass-through_host_USB_device

* Issues:
  * https://serverfault.com/questions/666210/attaching-usb-dongle-to-kvm-vm
  * https://unix.stackexchange.com/questions/119335/how-can-i-simulate-usb-storage-device-connection-with-qemu#119530
  * https://unix.stackexchange.com/questions/452934/can-i-pass-through-a-usb-port-via-qemu-command-line#452946
    kvm - Can I pass through a USB Port via qemu Command Line? - Unix & Linux Stack Exchange

  * https://unix.stackexchange.com/questions/310271/camera-passthrough-in-qemu-kvm-linux-guest-machine
    Camera passthrough in QEMU/KVM (linux) guest machine - Unix & Linux Stack Exchange

  * https://bugs.launchpad.net/qemu/+bug/1377163/
    Bug #1377163 “Does not add usb-host devices as they are hotplugg...” : Bugs : QEMU

  * https://bugzilla.redhat.com/show_bug.cgi?id=955438
    955438 – qemu should fail to boot guest when speed mismatch trying to attach low speed usb device to xHCI high speed controller

  * https://bugs.launchpad.net/qemu/+bug/1550743
    Bug #1550743 “connect low speed host devices to qemu ehci does n...” : Bugs : QEMU

  * https://bugzilla.redhat.com/show_bug.cgi?id=949505
    949505 – Assign 3.0 usb device to ehci and uhci or usb hub got applied anyway with warning but fails to function

  * https://www.reddit.com/r/linuxadmin/comments/7a7bgl/when_adding_usb_redirection_in_a_vm_it_resets_the/
    When adding USB redirection in a vm it resets the USB device and errors with speed mismatch. Any idea how to change speed? : linuxadmin

  * https://bugs.launchpad.net/qemu/+bug/1810000
    qemu system emulator crashed when using xhci usb controller

## Manually resizing an image

Nowadays this can be done with `kvmx growpart <device> <partition> <additional_size>`, but
here goes some manual procedures if needed.

* Image resize action, doing something like this, thanks to
  https://ahelpme.com/linux/online-resize-of-a-root-ext4-file-system-increase-the-space/

    # poweroff
    kvmx poweroff $guest

    # resize image
    qemu-img resize `kvmx list_image $guest` +5G

    # power up
    kvmx up $guest

    # ensure parted is installed
    #sudo apt-get install -y parted
    kvmx ssh $guest sudo apt-get install -y cloud-guest-utils

    # resize virtual machine root fs - while the partition is mounted!
    # this parted command currently need to be done manually
    #echo resizepart 2 -1 | kvmx ssh $guest sudo parted /dev/vda

    # See https://unix.stackexchange.com/questions/373063/auto-expand-last-partition-to-use-all-unallocated-space-using-parted-in-batch-m
    #     https://unix.stackexchange.com/questions/190317/gnu-parted-resizepart-in-script#202872
    #     https://bugs.launchpad.net/ubuntu/+source/parted/+bug/1270203
    #     https://techtitbits.com/2018/12/using-parteds-resizepart-non-interactively-on-a-busy-partition/
    #     https://serverfault.com/questions/870594/resize-partition-to-maximum-using-parted-in-non-interactive-mode
    #kvmx ssh $guest sudo parted /dev/vda resizepart 2 -1 Yes
    kvmx ssh $guest sudo growpart /dev/vda 2

    kvmx ssh $guest sudo resize2fs /dev/vda2
    kvmx ssh $guest sudo touch /forcefsck
    kvmx restart $guest

## Folder sharing

Some references on 9p folder sharing, especially regarding performance:

* [v9fs: Plan 9 Resource Sharing for Linux — The Linux Kernel documentation](https://www.kernel.org/doc/html/latest/filesystems/9p.html)
  * [Documentation/9p - QEMU](https://wiki.qemu.org/Documentation/9p)
  * [Documentation/9psetup - QEMU](https://wiki.qemu.org/Documentation/9psetup)
  * [v9fs · GitHub](https://github.com/v9fs)
  * [Virtio on Linux — The Linux Kernel documentation](https://www.kernel.org/doc/html/v6.8/driver-api/virtio/virtio.html)
    * [linux kernel - VIRTIO: How it increase performance - Stack Overflow](https://stackoverflow.com/questions/24737882/virtio-how-it-increase-performance)
      * [[Virtio-fs] [PATCH v2 0/3] virtio: increase VIRTQUEUE_MAX_SIZE to 32k](https://listman.redhat.com/archives/virtio-fs/2021-October/004135.html)
        * [Virtual I/O Device (VIRTIO) Version 1.1](https://docs.oasis-open.org/virtio/virtio/v1.1/cs01/virtio-v1.1-cs01.html#x1-240006)
  * [remove msize limit in virtio transport [LWN.net]](https://lwn.net/Articles/901523/)
    * [Performance fixes for 9p filesystem [LWN.net]](https://lwn.net/Articles/918213/)
    * [New Patches Aim To Boost Linux 9p Performance By ~10x - Phoronix](https://www.phoronix.com/news/Linux-9p-10x-Performance)
      * [9p performance increase by ~10x reflected in WSL? · microsoft/WSL · Discussion #9412 · GitHub](https://github.com/microsoft/WSL/discussions/9412)
      * [VM: 9p: degraded performance: a reasonable high msize should be chosen on client/guest side · Issue #10219 · canonical/lxd · GitHub](https://github.com/canonical/lxd/issues/10219)
        * [Add msize configuration for windows-side 9P client (=higher WSL2 disk speed) · Issue #9125 · microsoft/WSL · GitHub](https://github.com/microsoft/WSL/issues/9125)
      * [[PATCH v2 00/10] Performance fixes for 9p filesystem - Eric Van Hensbergen](https://lore.kernel.org/lkml/20221218232217.1713283-1-evanhensbergen@icloud.com/)
    * [linux/net/9p/client.c at master · torvalds/linux · GitHub](https://github.com/torvalds/linux/blob/master/net/9p/client.c)
    * [linux/net/9p/trans_virtio.c at master · torvalds/linux · GitHub](https://github.com/torvalds/linux/blob/master/net/9p/trans_virtio.c)
      * [History for net/9p/trans_virtio.c - torvalds/linux · GitHub](https://github.com/torvalds/linux/commits/master/net/9p/trans_virtio.c)
    * [Re: [PATCH v5 00/11] remove msize limit in virtio transport - Dominique Martinet](https://lore.kernel.org/all/Ys3j7KucZGdFkttA@codewreck.org/)
    * [[v4,08/12] net/9p: limit 'msize' to KMALLOC_MAX_SIZE for all transports - Patchwork](https://patchwork.kernel.org/project/netdevbpf/patch/39f81db5e5b25a1e4f94ad3b05552044209aff21.1640870037.git.linux_oss@crudebyte.com/)