Skip to content
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

virtio_9p? #222

Open
orent opened this issue Dec 12, 2021 · 4 comments
Open

virtio_9p? #222

orent opened this issue Dec 12, 2021 · 4 comments

Comments

@orent
Copy link

orent commented Dec 12, 2021

The client is built into linux guests and the server is a separate process that uses only simple userspace filesystem access and should be easy to port. IIUC, the missing part is setting up the communication channel over a virtio ring.

Any plans on supporting 9p filesystem access?

Any pointers on where I might start doing it myself?

@brad-x
Copy link

brad-x commented Dec 13, 2021

@orent if you're feeling adventurous, hyperkit is a pretty direct descendant of XHyve and they've added 9p support (oddly it hasn't been contributed back here.)

moby/hyperkit@20e6d92 is a great place to start for bringing support into xhyve itself

@brad-x
Copy link

brad-x commented Dec 15, 2021

@orent I think we can test building xhyve with elements of the above commit, but I've been failing to find a userspace 9p server to connect it to. Any recommendations?

@orent
Copy link
Author

orent commented Dec 15, 2021

This one is apparently meant to be used with bhyve:
https://github.com/conclusiveeng/lib9p

There is a good implementation in qemu, but it is GPLed. I guess it should be OK as a separate executable with source code clearly segregated in a subdirectory, but this is up to you, of course.

There are two projects mentioned in the hyperkit commit in Go and in ocaml.

A rust implementation in Google's crosvm, used as part of Crostini (Linux on ChromeOS).
https://chromium.googlesource.com/chromiumos/platform/crosvm

@orent
Copy link
Author

orent commented Dec 15, 2021

lib9p was added to the FreeBSD tree two years ago.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants