qemu 支持 host 和 guest 中共享目录

 qemu 支持 host 和 guest 中共享目录:

1.  qemu 支持和设置 virtfs

     qemu 启动参数需要添加 :

      -fsdev local,security_model=passthrough,id=fsdev0,path=/tmp/share \
      -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=hostshare

  如果遇到提示:

 'virtio-9p-pci' is not a valid device model name

      则需要重新编译 qemu, 编译时添加额外的 configure 参数 --enable-virtfs

./configure --enable-kvm --enable-virtfs --prefix=/opt/software/toolchain/qemu

    注意 qemu 支持 virtfs 需要 libcap 和 libattr 等依赖库.

    ./configure --enable-kvm --enable-virtfs --prefix=/opt/software/toolchain/qemu

     ERROR: VirtFS requires libcap devel and libattr devel

     CentOS 可以使用如下命令安装

      yum install -y libcap-devel
      yum install -y libattr-devel 

      编译安装 qemu 后, 再运行, 可以了.

 

2.  guest 支持和设置 virtfs

    1 在 guest 中挂载 host 共享的目录

       mkdir /mnt/host_files
       mount -t 9p -o trans=virtio,version=9p2000.L hostshare /mnt/host_files
       如果提示 :     mount: unknown filesystem type '9p'

       则说明构建的 guest 内核不支持 9p-virtio.
       需要开启对应的内核选项, 并重新编译.

    需要在 kernel 中添加 9p 的支持 

     CONFIG_NET_9P=y
     CONFIG_9P_FS=y
     CONFIG_VIRTIO_PCI=y
     CONFIG_NET_9P_VIRTIO=y
     CONFIG_9P_FS_POSIX_ACL=y
     CONFIG_NET_9P_DEBUG=y (Optional可选)

     最后, 一切就绪之后, 启动 qemu, 就可以看到目录正常挂载了.

posted @ 2022-01-08 22:02  alone153  阅读(2594)  评论(0编辑  收藏  举报