Asahi Linux 报告:将 Linux 移植到 M1 Mac 太难了
Asahi Linux 项目已公布了第一份进度报告,详细介绍了其为了将 Linux 移植到 Apple Silicon 平台所做的一些工作。Asahi Linux 项目由 Linux 移植专家 Hector Martin 创建,于今年正式启动;其目标是为最新的苹果 M1 系列 Mac 设备移植可供用户日常使用的 Linux 操作系统。
报告中详细介绍了项目推进过程中所面临的一些挑战;并表明,这绝非易事。其指出,Apple Silicon Mac 的启动方式与 PC 完全不同。它们的工作方式更类似于嵌入式平台(比如 Android 手机,当然也可以说是 iOS 设备),但也加入了不少定制的机制。然而,苹果采取了一些措施,让人感觉这个启动过程更接近英特尔 Mac 的启动过程,所以一直以来,人们对事情的实际工作方式有很多困惑。
“例如,你知道 Apple Silicon Mac根本不能从传统意义上的外部存储启动吗?或者说,Apple Silicon Mac 上的 bootloader 根本不能显示图形用户界面,Boot Picker 其实是一个全屏的 macOS 应用,而不是 bootloader 的一部分?”
Apple Silicon Mac 的启动过程不基于任何现有标准,而是一种定制的 Apple 机制,起源于 iOS 的早期设计。鉴于此,Asahi Linux 项目特意为 Apple Silicon开发了一款名为 m1n1 的自定义引导加载器,以尽可能多地照顾到“Apple-isms”。用户可以将 m1n1 预置到 Linux 内核中,然后使用苹果的 kmutil 工具将其安装到自己的 Mac 上,它就能完成 Linux 启动所需的一切工作。
Martin 透露,目前其主要开发工作流程是直接从 m1n1 加载 Linux,但是他们也正致力于提供 U-Boot 和 OpenBSD 支持。并表示,“m1n1 不仅仅是为了运行 Linux。事实上,它甚至根本就不是一个 bootloader。”
接下来,Asahi Linux 项目团队将继续为 m1n1 添加新功能,使其成为一个更强大的研究工具。他们计划将它变成一个非常轻量便携的虚拟机管理程序,可以启动 macOS,并可阻止其对 M1 硬件的访问。“这将使我们能够研究苹果的驱动程序是如何工作的,而不必拆解它们。”
除 Asahi Linux 项目外,Corellium CTO Chris Wade 也曾于月前宣布该团队已成功在 Mac mini M1 上启动 Ubuntu。
更多 Asahi Linux 项目相关内容可查看报告:https://asahilinux.org/2021/03/progress-report-january-february-2021/

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
RubyMine 2021.1 Beta 2 发布,新的 VCS 功能
RubyMine 2021.1 Beta 2 已经发布,此次更新主要带来了一些新的 VCS 功能,包括拉取请求优化、配置配置文件以进行预提交检查、支持 Git 提交消息模板、保存到工具架。 拉取请求优化 在创建一个新的 PR 时,IDE 会在 Pull Requests 视图中打开一个表单,提示用户提供详细信息。另外,用户还可以从一个新的下拉列表中选择所需分支,该列表包含了当前项目中左右可用的分支。"Files" 选项卡中包含了修改后的文件,双击其中的文件时,IDE 将打开该文件的 in-editor diff。在 “Info” 选项卡中,用户可以选择头仓库和它的分支,输入 PR 的标题和描述,指定审阅者和指派者,添加描述性标签,并且支持创建 PR 草案和模版。 配置配置文件以进行预提交检查 用户现在可以在将更改提交到 VCS 之前选择代码检查配置文件。要使用此功能,单击提交工具窗口中的齿轮图标以显示提交选项,选择分析代码复选框,单击配置,然后选择所需的配置文件。可以在首选项设置中创建配置文件。 支持 Git 提交消息模板 RubyMine 现在有一个 Git 提交模板。用户可以根据自...
- 下一篇
全新改进的 WireGuard 登陆 FreeBSD
在去年年底,FreeBSD 引入了一个 WireGuard 内核模块。最初的 WireGuard 移植到 FreeBSD 是由防火墙公司 Netgate 赞助的, 但代码质量很差, 而且没有上游 WireGuard 开发者的参与。如今,那个 FreeBSD 的 WireGuard 内核代码正准备被一个更好的实现所取代。 WireGuard 的主要开发者 Jason Donenfeld 在一封电子邮件中解释了这一情况:"前段时间,一家知名的防火墙厂商委托一位开发者为 FreeBSD 编写 WireGuard。他们没有费心去查看这个项目,之后,所有的代码都被合并到了 FreeBSD 中"。 最近,Donenfeld 与 FreeBSD 的上游开发者,以及曾参与 WireGuard 向 OpenBSD 移植的 Matt Dunwoodie 开始合作,就一个改进的实现进行合作,这个实现也将与用户空间的 WireGuard 上游工具兼容。 Donenfeld 继续补充道:"我们三个人从头到尾地对实现进行了彻底的重构,我们每个人都推动提交,并通过代码来确保正确性。结果就是此次全新的 Wiregua...
相关文章
文章评论
共有0条评论来说两句吧...