qemu中使用9p,支援host和guest中共享目錄
阿新 • • 發佈:2019-02-13
9p是啥,網路檔案系統,用於共享目錄。當然,qemu中使用9p是用於host和guest中共享目錄,也不需要網路的支援,而是需要virtio的支援。
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
編譯安裝qemu後,再執行,可以了。
在guest中掛載host共享的目錄:
mkdir /tmp/host_files
mount -t 9p -o trans=virtio,version=9p2000.L hostshare /tmp/host_files
提示:
mount: unknown filesystem type '9p'
需要在kernel中新增9p的支援:
然後就可以使用了,如果再加上virtio console的支援,那麼既有shell,又可以傳輸檔案,基本可以代替adb的常用功能了。CONFIG_NET_9P=y CONFIG_NET_9P_VIRTIO=y CONFIG_NET_9P_DEBUG=y (Optional) CONFIG_9P_FS=y CONFIG_9P_FS_POSIX_ACL=y
參考: