You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
boot-qemu.py: Add support for mounting a folder into the guest via virtiofs
virtiofs, available in QEMU 5.2 or newer and Linux guests 5.4 or newer,
is a more modern way to pass local folders along to QEMU, as it takes
advantage of the fact that the folders are on the same machine as the
hypervisor.
To use virtiofs, we first need to find and run virtiofsd, which has two
different implementations: a C implementation included with QEMU up until
8.0 (available on most distros) and a standalone Rust implementation
available on GitLab (not packaged on many distros but easy to build and
install). Once we find it, we run it in the background and connect to it
using some QEMU parameters, which were shamelessly taken from the
official virtiofs website:
https://virtio-fs.gitlab.io/howto-qemu.html
To use it within the guest (you can use a different path than
/mnt/shared but 'mount -t virtio shared' must be used):
# mkdir /mnt/shared
# mount -t virtiofs shared /mnt/shared
# echo "$(uname -a)" >/mnt/shared/foo
On the host:
$ cat shared/foo
Linux (none) 6.1.0-rc8-next-20221207 #2 SMP PREEMPT Wed Dec 7 14:56:03 MST 2022 aarch64 GNU/Linux
This does require guest kernel support (CONFIG_VIRTIO_FS=y), otherwise
it will not work inside the guest:
/ # mount -t virtiofs shared /mnt/shared
mount: mounting shared on /mnt/shared failed: No such device
Closes: #81
Link: https://gitlab.com/virtio-fs/virtiofsd
Signed-off-by: Nathan Chancellor <[email protected]>
0 commit comments