我最近开始在 M1 mac 上进行开发,我想虚拟化一个简单的 linux 系统。Multipass 似乎是一个好主意,直到我努力转发端口。
所以我创建了一个非常简单的 qemu 机器,以 multipass 模拟它们的实例的方式为模型:
qemu-system-aarch64 \
-machine virt,highmem=off \
-accel hvf \
-name ubuntu-qemu \
\
-cpu cortex-a72 \
-smp 4 \
\
-m 4096 \
\
-drive file=edk2-aarch64-code.fd,if=pflash,format=raw,readonly=on \
-drive file=ubuntu-os.qcow2,if=virtio \
\
-nographic \
\
-net nic,model=rtl8139 \
-net user,hostfwd=tcp::2222-:22 \
\
-fsdev local,id=projects,path=/Users/cdf/Projects,security_model=none \
-device virtio-9p-pci,fsdev=projects,mount_tag=projects
这启动了一个非常简单的 ubuntu 机器,效果很好,我可以转发端口。
我唯一不能正确的是如何共享文件夹,如您在上面看到的我正在尝试:
-fsdev local,id=projects,path=/Users/cdf/Projects,security_model=none \
-device virtio-9p-pci,fsdev=projects,mount_tag=projects
在实例上,我创建了一个/etc/fstab
要挂载的条目projects
projects /home/cdf/projects 9p trans=virtio 0 0
这似乎正在工作......在一定程度上
我可以访问共享,但是我不能对共享进行更改:
cdf@ubuntu:~$ ll ./projects
ls: ./projects: Network dropped connection on reset
ls: ./projects/.: Network dropped connection on reset
ls: ./projects/yoco: Network dropped connection on reset
ls: ./projects/cdf: Network dropped connection on reset
total 4
drwxr-xr-x 4 503 dialout 128 Mar 24 07:26 ./
drwxr-xr-x 14 cdf cdf 4096 Mar 26 18:37 ../
drwxr-xr-x 4 503 dialout 128 Mar 24 07:27 cdf/
我还想让所有者和组cdf
像多通道坐骑一样。我不太确定该怎么做才能使安装正常工作,有人可以帮助我吗?
我使用的是 Intel mac,但在尝试安装 9p 卷时遇到了相同的“重置时网络断开连接”错误。对我来说,添加
version=9p2000.u
到 fstab 中的行似乎有帮助。这是基于NixOS 问题中的评论。我的完整 /etc/fstab 行如下所示:这是我的 qemu 命令中的相关参数:
我
security_model=none
最终修改了来宾中的用户和组 ID 以匹配主机。你可能有更好的运气security_model=mapped
。我在Ubuntu VM on macOS with QEMU的要点中发布了一些关于我的设置的注释。