影视聚合站 科技 文章内容

Android 13 “鸡肋”?可它跑起了 Windows 11、Linux 发行版!

发布时间:2022-02-21 16:32:39来源:CSDN

整理|郑丽媛

出品|CSDN(ID:CSDNnews)

还记得在今年年初盘点时,XDADevelopers的前主编MishaalRahman曾预言:“Android12的Bug修复对谷歌而言已压力不小,由此可能导致下一版本的开发周期遭到缩减,从而引发恶性循环。”

结果不到一个月,MishaalRahman就被“打脸”了:2月10日,谷歌正式发布了。

不可否认的是,在感受过“Android历史上最大设计变更”的Android12后,首个Android13预览版似乎处在一种“珠玉在前,瓦石难当”的尴尬处境:在看过谷歌的介绍后,许多人吐槽Android13“平淡无奇”、“鸡肋平庸”。

Android和Web开发人员@kdrag0n发现了隐藏在Android13预览版中的闪光点:谷歌Pixel6等设备在安装Android13预览版后,可实现完全虚拟化!

这意味着,现在我们可以在Pixel6或其他基于Tensor处理器的设备上,以接近原生的速度运行几乎任意操作系统,包括Windows11、Ubuntu或ArchLinuxArm等Linux发行版。

早在2个月之前,MishaalRahman就曾“谷歌将如何在Android13中使用虚拟化”这一话题进行过分析,他坚定认为:“谷歌多年碎片化战争的下一个战场是虚拟化。”

说起Android的虚拟化,Android系统团队的WillDeacon将之称为“碎片化的狂野西部”。因为不论虚拟机是否存在于设备上,它们的作用通常都不是用来运行其他操作系统,而是用于试图增强内核安全或在Android操作系统之外运行杂项代码(例如DRM、密码学和其他闭源二进制文件的第三方代码)。

但在谷歌看来,“在Android操作系统之外运行杂项代码”这一点存在重大隐患:

从上面这张ARMv8/v9异常模型中可以看出,虚拟机程序运行在EL2层,而在ARM命名法中,数字越大,特权级别越高,即EL2比行在EL0、EL1的代码权限更高。这也就意味着,许多闭源二进制文件的第三方代码的运行权限,比操作系统和内核还高。这显然是个安全隐患,因为在较高EL上运行的代码可访问低级别的所有寄存器。

为解决这一安全问题,谷歌一直在寻求一个通用的虚拟化解决方案,以实现解除第三方代码的特权,并将该代码与Android和其他第三方程序隔离开来。关于这点,KVM是个不错的选择。

KVM,全名Kernel-basedVirtualMachine,是一个开源的系统虚拟化模块,自Linux2.6.20之后,便广泛集成在各个主流Linux发行版中,主要使用Linux自身的调度器进行管理。而Android同样也基于Linux内核构建,所以谷歌自然而然会选择将KVM部署为通用虚拟机管理程序。但谷歌并非照搬全收,它实际上是在扩展具有额外安全功能的KVM,即pKVM:受保护的KVM。

当时,MishaalRahman就已预测了Android13可能出现的变化:“目前,市场上没有任何Android设备配备虚拟化模块,包括谷歌自己的Pixel6也没有,但这将随着即将发布的Android13版本而改变。”他补充道,据他了解,谷歌有计划在Android13中引入pKVM和虚拟机框架的第一个版本。

这次,MishaalRahman的预测成功了:通过加入全新虚拟化框架的Android13预览版,@kdrag0n完成了在Pixel6中运行Windows11及部分Linux发行版的尝试。

@kdrag0n表示:“在Pixel6+Android13DP1上,拥有KVM管理程序(接近本机性能)的成熟虚拟机。”Ta还分享道,目前在设备上可获得完整的EL2,而“pKVM”是可选项,可在每个VM的基础上启用,但对于未受保护的VM,似乎可使用完整的KVM功能。

为证明其运行成功,@kdrag0n在推特上发布了一则各种Linux发行版作为VM在Pixel6上启动的视频,其中包括Ubuntu21.10、ArchLinuxArm、VoidLinux和AlpineLinux,甚至还有一段在Arch上为arm64编译Linux5.17-rc3allnoconfig的录屏。

此后,@kdrag0n又通过Android13虚拟化,让Pixel6得以运行Windows11并对此进行了优化:“稍微提高了性能,WindowsVM现在真的可以使用了,尽管不支持硬件GPU加速,但CPU、I/O和内存压力已缓和许多。”

不仅如此,@kdrag0n还成功通过Pixel6的Windows虚拟机,连接到电脑上(为进行键盘输入),十分顺畅地玩起了1993年的老游戏《毁灭战士》。

但@kdrag0n也补充道,这是WindowsonARM,而非x86,并且不支持嵌套虚拟化,所以也不支持WSA。尽管这远非完美的体验,也不如本地安装操作系统那样流畅,但能够良好运行已然不易。

相信等到Android13正式版支持pKVM时,其虚拟机体验将再度完善,届时各类操作系统在Android手机上的表现也值得期待。

参考链接:

https://blog.esper.io/android-dessert-bites-5-virtualization-in-android-13-351789/

https://www.cnx-software.com/2022/02/14/android-13-virtualization-lets-pixel-6-run-windows-11-linux-distributions/

https://twitter.com/kdrag0n/status/1492754683445669893

《》正式上市,50余位技术专家共同创作,云原生和数字化的开发者们的一本技术精选图书。内容既有发展趋势及方法论结构,华为、阿里、字节跳动、网易、快手、微软、亚马逊、英特尔、西门子、施耐德等30多家知名公司云原生和数字化一手实战经验!

© 2016-2022 ysjhz.com Inc.

站点统计| 举报| Archiver| 手机版| 小黑屋| 影视聚合站 ( 皖ICP备16004362号-1 )