blob: 7ec2ad1b1acb2ace25427740edb845315bfe4994 (
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
# Ideas
## Usability
* Docs (tutorial and manpage).
* Makefile and debian package.
* Patch for spice-client-gtk for menuless windows (spicec usecase).
* Systemd service for a single VM.
* Shell completions.
* Support for multiple source/targets pairs (analogous to `shared_folders`) at:
* `provision_rsync`
## Virtualization
* Config option to [disable
networking](https://wiki.qemu.org/Documentation/Networking#How_to_disable_network_completely),
passing `-net none`.
* [Nested virtualization](http://www.rdoxenham.com/?p=275)
([1](https://wiki.archlinux.org/index.php/KVM#Nested_virtualization),
[2](https://ladipro.wordpress.com/2017/02/24/running-hyperv-in-kvm-guest/)).
* USB hotplug support:
* Good to have `usbutils` package in the guest.
* Docs:
* https://qemu.readthedocs.io/en/latest/system/usb.html
* 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
# Workflow
* Continuous Integration script (kvmx-ci):
* For schedule jobs (like cron).
* Pull from remote repository and check source integrity.
* Automatic VM (re-)creation and/or provisioning.
* Logging.
* Status report.
* Test suite for kvmx itself.
## Folder sharing
* Try to umount all sshfs volumes in the host.
* Remount 9p shared folders and reinitialize spice-vdagent upon resume from
disk [see possible bug](https://bugzilla.redhat.com/show_bug.cgi?id=1333072).
* Alternative folder sharing support:
* NFS, SMB.
* Or even [SSH to a server](https://superuser.com/questions/831659/mount-a-local-directory-to-a-remote-ssh-server)).
## Image handling
* Support for other OSes like Arch Linux, Gentoo, Alpine, CentOS and NixOS.
* Integration with [image-bootstrap](https://github.com/hartwork/image-bootstrap).
* LVM support at `kvmx-create`, with optional LUKS support for the whole volume.
* Non-superuser support for building images on `kvmx-create`, relying on a method like the following:
* https://unix.stackexchange.com/questions/32008/how-to-mount-an-image-file-without-root-permission
* https://wiki.debian.org/ManipulatingISOs
* https://github.com/libfuse/libfuse/wiki/Filesystems
* https://packages.debian.org/search?suite=default§ion=all&arch=any&searchon=all&keywords=fuse
* Additional way to handle missing image on `kvmx up` by spawning `kvmx_install` instead of `kvmx-create`.
* Fix isolinux support:
* http://www.syslinux.org/wiki/index.php?title=Development/Testing
* http://linux-kernel-driver.blogspot.com.br/2009/06/linux-kernel-development-using.html
* https://bbs.archlinux.org/viewtopic.php?id=177299
* 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
# 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/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 resize2fs /dev/vda2
kvmx ssh $guest sudo touch /forcefsck
kvmx ssh $guest sudo poweroff
|