В ядре 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.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.