В ядре Linux 5.13 появится начальная поддержка CPU Apple M1

10 апреля 2021 года

Гектор Мартин (Hector Martin), предложил включить в ядро Linux первый набор патчей, подготовленных проектом Asahi Linux, ведущим работу по адаптации Linux для компьютеров Mac, оснащённых ARM-чипом Apple M1. Указанные патчи уже одобрены сопровождающим ветки Linux SoC и приняты в кодовую базу Linux-next, на основе которой формируется функциональность ядра 5.13. Технически, Линус Торвальдс может блокировать поставку предложенных изменений, но такое развитие событий оценивается как маловероятное.

Патчи включают в себя поддержку компонентов SoC M1, не связанных с GPU, таких как контроллер прерываний, таймер, UART, SMP, функции для организации ввода/вывода и MMIO. Обратный инжиниринг GPU пока не завершён, для организации вывода в патчах предоставляется поддержка фреймбуфера и консоли через последовательный порт. Из устройств заявлена поддержка компьютера Apple Mac mini, который используется в качестве эталонной платформы в проекте Asahi Linux (имеется подробная инструкция по установке).

Отдельно развивается открытый аппаратный адаптер, признанный упростить подключение к консоли через последовательный порт и проведение отладки. В текущем виде, из-за использования компанией Apple в своём оборудовании нестандартных команд USB-PD, наиболее простым способом доступа к консоли является подключения к другому компьютеру на базе чипа Apple M1 с использованием кабеля USB C. Более сложный способ заключается в создании развязки на базе микроконтроллера Arduino, чипа FUSB30 и адаптера UART-TTL.

Проектом также подготовлен загрузчик m1n1, дающий возможность загрузить ядро Linux и минимальное системное окружение на компьютерах Mac с CPU Apple M1. Компания Apple на компьютерах с CPU M1 в штатном режиме разрешает загружать незаверенные цифровой подписью ядра без необходимости применения jailbreak. Данная особенность даёт возможность разработчикам экспериментировать с новыми ядрами XNU, но при попытке загрузки других систем возникают трудности, так как Apple использует собственный протокол загрузки и иной формат Device Tree. Предложенный проектом Asahi Linux загрузчик m1n1 выступает в роли прослойки, дающей возможность использовать стандартный Device Tree и штатный протокол загрузки, используемый в ядре Linux для ARM64. В дальнейшем в m1n1 планируется добавить возможность вызова U-Boot и GRUB для организации типового процесса загрузки, аналогичного тому, что используется на других платформах ARM64.

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «В ядре Linux 5.13 появится начальная поддержка CPU Apple M1», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.