Asahi Linux 项目团队在博客文章中写道,他们尝试了在 Apple Silicon 系统上设置备用启动内核。虽然已实现大多数功能,但还是缺乏对安装非苹果内核的命令支持。

Apple Insider 指出,主要障碍在于 Apple Silicon 的启动方式与 PC 存在很大的不同。与常见的计算机相比,它更像是一个嵌入式平台(类似 Android / iOS)。

深入分析发现,苹果有努力让 Apple Silicon 平台的启动过程更接近于 Intel Mac,但两者仍存在着一些差异、尤其是某些量身定制的运行机制。

这些差异会导致某些意外的行为,比如对于从外部存储进行启动的处理方式、引导加载程序未能呈现图形用户界面(GUI)。

此外启动项选择器(Boot Picker)只是一款全屏显示的 macOS 应用程序,而不是引导加载程序的一部分。

基于此,开发者认为 Apple Silicon Mac 的启动过程不基于任何现有标准,而是沿用了自 iOS 早期逐渐发展起来的苹果定制运行机制。

作为引导过程的一部分,苹果设备树(Apple Device Tree)也基于开放固件标准,且该规范曾用于引导早期的 PowerPC Mac 。

遗憾的是,由于缺乏有关数据表示的高级详情,第三方无法轻易地实现二进制格式的自动化差异转换。

Asahi Linux 项目团队声称:“试图统一苹果和 Linux 关于设备树应该如何工作的想法,将会是一场难以克服的噩梦”。

为了攻克这方面的难题,项目团队已经开发了用于 Apple Silicon Mac 的 m1n1 引导程序。

据悉,这项工作源于早期用于检查任天堂 Wii 的最小环境。经过相应的修改,项目团队得以开始记录苹果的自定义 ARM 指令、系统寄存器、以及中断控制器等硬件。

同时 Asahi Linux 团队与 Corellium 携手努力,以期将 Linux 顺利移植到 M1 平台。

1 月份的时候,Corellium 曾提及类似的非传统启动过程、并且使用了非标准的控制器,从而设法启动了 Linux 。

然而与基于 Intel 芯片的 macOS 应用程序迁移工作相比,Apple Silicon 的第三方系统移植工作还是要困难得多。

mac软件移植linux,相比软件迁移 Apple Silicon Mac的Linux系统移植工作更困难相关推荐

  1. 在 Apple silicon Mac 上 DFU 模式修复或恢复 macOS 固件

    搭载 Apple 芯片的 Mac 电脑 DFU 模式全新安装 macOS Ventura 请访问原文链接:https://sysin.org/blog/apple-silicon-mac-dfu/,查 ...

  2. 部分 Macbook 发货时间延迟,这是否寓意着Apple Silicon Mac即将面世

    近日有网友发现,部分 MacBook Pro 的发货时间已经延迟至 11/12-11/19 日,高配版本的 13 英寸 MacBook Pro 更是推迟到 12/2-12/8 日:部分新款 21.5 ...

  3. 如何在M1 Apple Silicon Mac上安装Rosetta

    由Apple Silicon芯片驱动的Mac,例如M1 MacBook Pro,既可以运行iOS应用程序也可以运行Mac应用程序,但是由于名为Rosetta 2的支持,它们也可以运行x86-64软件, ...

  4. Rhinoceros mac版(犀牛三维建模软件)中文版

    犀牛Rhinoceros mac版是非常受欢迎的一款三维建模软件,rhinoceros mac 中文版可应用于三维动画制作.机械设计.建筑设计.工业制造等,具备全面的NURBS.网格.分析.制图等工具 ...

  5. Apple Silicon M1 Mac如何恢复出厂设置

    今天小编就来和大家讲述一下 Apple Silicon M1 Mac如何恢复出厂设置并还原的? Apple完全改变的Apple Silicon Mac的一个方面是访问恢复模式的方式,这是重新安装Mac ...

  6. 怎样恢复出厂设置并还原Apple Silicon M1 Mac?

    Apple完全改变的Apple Silicon Mac的一个方面是访问恢复模式的方式,这是重新安装MacOS,解决问题或彻底擦除硬盘驱动器所必需的工具,以防万一您必须将其退回或决定删除硬盘.在下面,您 ...

  7. x210:uboot和系统移植

    注:本文是对朱老师uboot和系统移植课程的备忘引导性笔记,主要是为了能够在学完后快速回忆起相关内容.本文主要记录了一些关键易忘性知识点并包含少量理解性内容,遵循尽量精简的原则,以尽量少的篇幅概括整个 ...

  8. 系统移植(系统移植环境搭建及简单概念)

    linux系统 = linux内核 + 根文件系统; 根文件系统 = 库(/lib和/usr/lib) + 命令( /bin和/usr/bin) + 配置文件( /etc) + GUI(图形化界面,如 ...

  9. Apple macOS 下载汇总(系统、应用和技巧)macOS Monterey

    macOS Monterey 12,macOS Big Sur 11,macOS Catalina 10.15,macOS Mojave 10.14,macOS High Sierra 10.13,m ...

最新文章

  1. reportConfig.xml两种数据源连接的配置方式
  2. 人工智能可能成为我们检测COVID-19最有效的方法吗?
  3. Kali Linux 装好系统后安装经常使用软件
  4. 计算机网络钟提供并管理,在计算机网络中通常把提供并管理共享资源的计算机称为...
  5. 一文看懂网络上采样层中的 align_corners
  6. 宏定义是写在.h文件里还是.c文件里
  7. 为什么大家都会往大城市跑
  8. Get Network Utilization
  9. java wifi开发教程_WiFi技术
  10. STM32CubeMX驱动4脚OLED模块
  11. smartdns使用指南_SmartDNS 使用教程(PLUS+版)
  12. xss之CSP bypass
  13. 计算机网络教程第五版|微课版 - 第五章 运输层 - 重要概念【补充】
  14. 奇思妙想 CSS 文字动画
  15. POI导入Excel文件(包含.xsl和.xslx文件兼容问题)
  16. linux下qt软件使用方法,QT入门 QT Creator 使用
  17. oracle远程不能访问权限,oracle限制远程访问
  18. 商家商品上架流程(没有)
  19. 计算机奇数页打印怎么设置,EXCEL怎么设置奇数页打印和偶数页打印
  20. 响应式织梦模板家政服务保姆月嫂类网站

热门文章

  1. NodeJS API简介
  2. Linux--------------安装jdk
  3. 使用java.util.LinkedList模拟实现内存页面置换算法--LRU算法
  4. | ^ ~ 按位运算符
  5. string用法总结
  6. Linux 指令篇:文本统计--wc(word count)
  7. 十二 手游开发神器 cocos2d-x editor 之游戏暂停悬浮层
  8. SpringMvc多语言配置
  9. goland http proxy 代理设置
  10. java rmi 原理和使用浅析