所有用到的命令:
Rosetta:
挂载命令:
sudo mkdir /mnt/rosetta
sudo mount -t virtuous rosetta /mnt/rosetta
/etc/fstab内容:
rosetta /mnt/rosetta virtiofs ro,nofail 0 0
binfmt_misc:
挂载命令:
mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
/etc/fstab内容:
none /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0
rosetta关联:
sudo echo ":rosetta:M:0:\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x3e\x00:\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/mnt/rosetta/rosetta:OCF" > /proc/sys/fs/binfmt_misc/register
cat /proc/sys/fs/binfmt_misc/rosetta
共享
sudo mkdir [mount point]
sudo mount -t virtiofs share [mount point]
/etc/fstab内容:
share [mount point] virtiofs rw,nofail 0 0
其它:
本教程只适用于macOS为主机系统利用apple虚拟化运行的Linux,不适用于Asahilinux
此外,据我查询,目前全站似乎并没有关于在Linux上运行rosetta的实机演示与教程视频,如果有,请联系我,我会将“全站首发“去掉,谢谢
还有,manjaro linux对于apple虚拟化的支持出奇的好,至少在我运行的过程中没有遇到linux内核崩溃的问题,如果用debian或ubuntu,基本上运行一会就会崩溃,其它例如fedora进行一两个操作就会崩溃,alpine linux根本无法启动,kali linux无法打开图形显示,而cent os等我没有进行测试,各位可以自行测试一下
其他的注意事项已经涵盖在视频中了,感谢观看
顺带吐槽一句,如果你在bing搜索"apple virtualization"的话,有机会看到apple的”招贤纳士- virtualization“,让我想起一个程序员笑话:人和程序有一个能跑就行了
结合apple虚拟化极差的体验,我估计是人跑了(bushi)
参考:
1.https://docs.getutm.app/advanced/rosetta/
2. https://docs.getutm.app/guest-support/linux/#macos-virtiofs
3. https://blog.lyle.ac.cn/2020/04/14/transparently-running-binaries-from-any-architecture-in-linux-with-qemu-and-binfmt-misc/
4. https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta
5. https://zhuanlan.zhihu.com/p/272268520
6. https://wiki.archlinux.org/title/Chroot
7. https://www.appelgriebsch.org/005-utm/