- 主题:苹果M1不支持虚拟化——跑不了docker
我看有人说的DTK的a12z出的问题
m1没提
而且回复里面的cpu信息里是支持的
如果不支持虚拟化
Pd发新闻不是要打自己的脸?
https://www.sohu.com/a/431439567_161062
【 在 oldwatch 的大作中提到: 】
: 我原来也以为只是没原生
: 然后看那个连接好像是M1不支持硬件虚拟化指令……
:
--
FROM 119.112.190.*
不是说了吗
cpu信息显示的就是支持虚拟化技术的
也就是硬件上主持
【 在 zli07 的大作中提到: 】
: 你这个没有任何说服力,即使 M1 支持虚拟化,运行 PD 的话也只能以解释执行的方式来运行 x86 指令,跟硬件支不支持虚拟化没有关系的。
:
: 【 在 mindcontrol 的大作中提到: 】
: ....................
- 来自「最水木 for iPhone 7」
--
FROM 119.112.190.*
你看下这个回复
? ~ sysctl -a | grep machdep.cpu.features
machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA
CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3
PCLMULQDQ DTSE64 MON DSCPL VMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1 SSE4.2
AES SEGLIM64
这里面的cpu特性,是否从硬件上支持了虚拟化技术呢?
【 在 hyoga 的大作中提到: 】
: 我们通常说一个CPU支不支持虚拟化,指的是是否支持硬件虚拟化指令,也就是说
: 是否允许虚拟机更直接地给CPU下达指令硬件执行,从而提高效率。
: 所以一款虚拟机软件是否能够运行,和CPU是否支持硬件虚拟化并没有太大关系。
: ...................
--
FROM 119.112.190.*
你以前要在x86上跑arm性能也不行啊
安卓模拟器就是一个例子
这个和docker的实现无关啊
至于需要在silicon Mac上跑x86windows的用户需求
我只能说苹果可能早就打算放弃了
苹果此举的目的就是引领全部移动操作系统迁移到arm架构
很大的一步
就算不成功,自己的产品也能达到一个统一
【 在 hyoga 的大作中提到: 】
: 硬件上支持也是针对arm指令的啊
: 你在arm上虚拟arm guest,需求和目的是什么?
: 之前PD火,大多数是因为有人需要在mac os 上跑win x86,这个话题昨天在apple讨论过了
: ...................
--
FROM 119.112.190.*
人家pd wmware还不如你明白?
https://appleinsider.com/articles/20/11/11/parallels-confirms-apple-m1-support-amid-silence-from-other-virtualization-companies
【 在 eGust 的大作中提到: 】
: 现在的情况别说 x86,连 arm 也只能软虚拟……
:
: 【 在 hyoga (白鸟·没见过猪跑,还没吃过猪肉吗?) 的大作中提到: 】
: ....................
- 来自「最水木 for iPhone 7」
--
修改:mindcontrol FROM 119.112.190.*
FROM 119.112.190.*
intel x86对arm的虚拟化 不是解释执行的?
【 在 zli07 的大作中提到: 】
: 看来你不懂虚拟化。虚拟化是一个超级大的概念,硬件虚拟化一般是指指令集能够支持用户态软件去处理中断、系统调用等。
: 而arm支持虚拟化也只能虚拟化arm,要运行intel还是要解释执行的
:
--
修改:mindcontrol FROM 119.112.190.*
FROM 119.112.190.*
架构之间的可能可以硬件支持
毕竟苹果的arm也是arm的指令集,和通用有些差别,但是不能巨大
苹果以前的iphone模拟器就x86的,并不是arm指令,所以开始的时候,苹果的模拟器效率非常高
反观安卓阵营,用的是arm架构,模拟器整天要死要活的,效率十分低下
这种状况到很后期才得到解决
架构之外的虚拟化,比如虚拟x86的,可能就没有这么容易了
【 在 zli07 的大作中提到: 】
: 你这么说的话,以后是不是在 mac 上能高效运行 android 了?就像之前通过 vbox 运行 android x86 一样,现在可以用 vbox 运行 android arm64 了。。
:
--
FROM 119.112.190.*
docker 不支持arm-64的版本么?
【 在 zli07 的大作中提到: 】
: 所以我们纠结的点是啥?
: 1. docker 不支持 arm 版:这个可以明确,肯定是底层的 qemu 没有迁移到 darwin arm64 上
: 2. PD 支持 arm 版:这个也可以明确,肯定是指令虚拟
: ...................
--
修改:mindcontrol FROM 119.112.190.*
FROM 119.112.190.*
docker for Mac 不也是这么一个工作原理么?
https://github.com/mist64/xhyve/
所以移植一下不就好了吗?
苹果wwdc大会上面,说的移植挺简单的
接口什么的应该都没有的大的变动
就像x86iphone模拟器和armiphone真机一样
只有些许差别,大部分接口都是一样的
所以这些都不应该是m1不能使用docker的原因吧?
除非xhyve采用的特殊intel虚拟化技术,m1不再提供支持
【 在 zli07 的大作中提到: 】
: docker 是支持的,但是在linux arm下面不是直接调用系统API吗
: 运行在darwin下面,就需要qemu先启动一个内核才行,docker server中的进程并不是系统进程
: 不过话说回来,在越狱iOS上运行qemu已经早就实现了,所以剩下的应该就是像你说的,和通用arm架构的区别导致普通的linux内核/软件没法启动。
: ...................
--
修改:mindcontrol FROM 119.112.190.*
FROM 119.112.190.*