-
-
Notifications
You must be signed in to change notification settings - Fork 278
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add usb
support to io.bus
#1697
Comments
Well, if we do this, can we do the same with network adapters? |
@bensmrs I will post here my chat conversation with @stgraber which basically answers this.
|
Sure, |
Right, the general goal on our side is to limit the number of fully emulated devices as much as possible and rely on paravirtualization wherever possible as a way to limit our attack surface. Fully emulated devices, especially complex PCI ones are the most dangerous there. USB is a bit more standard, at least for things like mass storage and we already have an XHCI controller anyways, so on the PCI side, there are no changes. Looking at the USB network implementation in QEMU, it seems very lightweight on the host side, just basic ethernet passthrough, not dissimilar to the paravirtualized PCI drivers so it would probably be fine to have |
(Another side effect of our decision to stick to lightweight paravirtualized devices is that should we ever have a reason to move away from QEMU as the driver and switch to one of the Rust VMM based alternatives, it shouldn't be too hard as those will usually have full virtio support and USB support, but other random PCI devices aren't something that can be counted on) |
We should double-check whether mq really works on the
… I’m already dreaming about Xen and Solo5 support :) |
If no one is particularly interested in working on that, it’s only logical after #1814 that I take this one, I think. |
In the meantime, you can do some scriptlet magic to achieve what you want, @foxtrotcz. |
I assigned it to you now, thanks! |
@bensmrs Thanks for taking this issue. My needs (device supported by Windows installer) are met with I feel bad I can only create issue and not do the work, but as I am not software developer its beyond my capabilities. So thanks again for doing this :) |
To be fair, I’m not sure I completely get your use case, as I’m installing Windows with repackaged ISOs with no issue.
Well you really shouldn’t; creating issues is a very important part of open source contribution. You gave me a good excuse for advancing on my macOS virtualization project, it’s also a need that I have at work so I can work on it during my office hours, and I enjoy working on the Incus codebase. It’s a win-win :) |
To be more accurate. For example person who is used to Proxmox will be able to transition to Incus better if they dont need to repack. So my "use case" is that I want Incus to be more accessible to regular users. Plus, recently Truenas adopted Incus so I bet more regular users will start using Incus. |
Hi,
this issue basically solves my previous one: #1688
I propose implementing
usb-storage
for use in disk via io.bushttps://qemu-project.gitlab.io/qemu/system/devices/usb.html#connecting-usb-devices
This device connects to
qemu-xhci
which is already implemented in Incus for USB passthrough. It also supports hotplugging.Drivers for USB device are also preloaded in Windows installer so it can be used as media for mounting additional drivers during Windows install. It can be also used for mounting Windows install ISO itself which will then allow to install easily on NVMe disk.
I think adding this would greatly improve ability of users to install Windows without using distrobuilder.
I tested it via qemu monitor and it looks to me it works nicely.
The text was updated successfully, but these errors were encountered: