1. 程式人生 > >qemu中使用9p,支援host和guest中共享目錄

qemu中使用9p,支援host和guest中共享目錄

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的支援:
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
然後就可以使用了,如果再加上virtio console的支援,那麼既有shell,又可以傳輸檔案,基本可以代替adb的常用功能了。

參考: