Работать напрямую с Apple Silicon – непростая задача, и разработчик, пытающийся перенести Linux для работы на чипе M1, рекомендует, чтобы Apple использовала специально настроенный процесс для загрузки Mac, который отличается от версий, используемых в других 64-битных системах ARM.

Представляя разработчикам Apple Silicon, Apple оказала помощь разработчикам в переносе их совместимых с Intel приложений на M1. Для разработчиков, выполняющих более амбициозные задачи, таких как перенос Linux на Apple Silicon, задача во много раз сложнее.

В сообщении в блоге о проекте Asahi Linux команда обсуждает свои выводы при попытке настроить альтернативное загрузочное ядро ​​в системах Apple Silicon. Хотя большая часть этой функции была реализована, отсутствие поддержки команды, которая позволяет установить ядро, отличное от Apple, привело к попытке задокументировать недокументированную систему.

Основное препятствие заключалось в том, что Apple Silicon загружается иначе, чем ПК, и работает «более похоже на встроенные платформы», такие как устройства Android или iOS. Существуют различия и используется «несколько специальных механизмов», хотя Apple явно сделала процесс загрузки «ближе» к Intel Mac.

Эти различия приводят к некоторым неожиданным действиям, например к тому, как Apple Silicon Mac обрабатывает загрузку с внешнего хранилища. Также было обнаружено, что загрузчик не может отображать графический пользовательский интерфейс и что «Средство выбора загрузки» является «полноэкранным приложением macOS, а не частью загрузчика».

Разработчики считают, что процесс загрузки «не основан на каком-либо существующем стандарте» и вместо этого использует «специальный механизм Apple, который медленно развивался с первых дней iOS».

DeviceTree было выбрано для использования в процессе загрузки, отчасти потому, что оно похоже на Apple Device Tree, которое использует Apple Silicon. И дерево устройств Apple, и открытый стандарт DeviceTree основаны на спецификации Open Firmware, которая использовалась для загрузки старых компьютеров Mac PowerPC.

Однако разница в двоичном формате, который не может быть легко преобразован автоматически без подробных сведений о том, что представляют собой данные, является препятствием для проекта. «Попытка объединить идеи Apple и Linux о том, как должны работать деревья устройств, была бы кошмаром», – утверждает команда проекта.

Чтобы решить эту проблему, команда работала над «m1n1», загрузчиком для Apple Silicon, чтобы «позаботиться о как можно большем количестве Apple-isms» для всех, кто разрабатывает собственный Linux или другие порты ОС. Используя дубль, который основан на минимальной среде, изначально созданной для проверки процессора безопасности Nintendo Wii, проект начал документировать пользовательские инструкции Apple ARM, системные регистры и оборудование, такое как Apple Interrupt Controller.

Проект Asahi Linux присоединяется к другим усилиям Corellium по переносу Linux на M1. В январе Corellium упомянул об аналогичном нетрадиционном процессе загрузки и использовании нестандартного контроллера, а также якобы об управлении загрузкой Linux.

Непосредственная работа с Apple Silicon – это большой шаг вперед по сравнению с опытом переноса приложений macOS на базе Intel на чип.

12 марта Adobe сообщила, что у нее «гладкий опыт» преобразования Photoshop. Наряду с первоначальной поддержкой приложений Intel с использованием Rosetta 2, команда разработчиков в партнерстве с Apple осуществила рефакторинг и внедрила такие функции, как Context Aware Fill для работы с M1.

Была также дана похвала за «значительные вложения Apple в набор инструментов и опыт для разработчиков» – элементов, которых у команд, переносящих Linux на Apple Silicon, просто нет.

Будьте в курсе всех новостей Apple прямо со своего HomePod. Скажите: «Привет, Siri, поиграйте в AppleInsider», и вы получите последний подкаст AppleInsider. Или попросите HomePod mini вместо этого «AppleInsider Daily», и вы услышите быстрое обновление прямо от нашей команды новостей. А если вас интересует домашняя автоматизация, ориентированная на Apple, скажите: «Привет, Siri, поиграйте в HomeKit Insider», и через несколько секунд вы услышите наш новейший специализированный подкаст.

.