Компания Corellium адаптировала Linux для работы на компьютерах с чипом Apple M1

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
23-Янв-2021 16:30

Компания Corellium, в рамках проекта Sandcastle занимающаяся портированием Linux и Android для iPhone, представила сборку Linux, адаптированную для работы на новых компьютерах Apple, оснащённых чипом M1. Вариант ядра Linux с поддержкой чипа Apple M1 опубликован под лицензией GPLv2, а патчи переданы для включения в основной состав ядра.
Компания Corellium имеет большой опыт портирования Linux на чипы Apple, применяемые в мобильных устройствах, таких как iPhone. На начальном этапе портирования экспериментаторов воодушевило то, что многие компоненты Apple M1 базируются на технологиях, уже применяемых Apple в других SoC. Но в процессе написания драйверов стало ясно, что не всё так просто и чип Apple M1 включает много нестандартных решений. В Linux поддержка 64-разрядных ARM SoC основывается на применении типовых блоков и интерфейсов прошивок, но в Apple M1 типовые решения почти не использовались.
Например, в обычных ARM SoC активация ядер CPU производится через предоставляемый прошивкой интерфейс PSCI (Power State Coordination Interface), а в Apple M1 требует манипуляции с регистром MMIO. В Apple M1 также применяется собственный контроллер прерываний AIC (Apple Interrupt Controller), несовместимый в большей части со стандартными ARM GIC, и иной механизм привязки прерываний от таймера. Более того, для организации взаимодействия между несколькими процессорами применяются отдельные регистры, управляющие IPI (inter-processor interrupts).
Для загрузки на компьютере Mac Mini M1 с чипом Apple M1 подготовлен готовый образ rootfs, построенный на базе сборки Ubuntu Linux для Raspberry Pi. Для установки необходимо скопировать образ на USB-накопитель, подключить данный накопитель к порту USB-C и загрузить компьютер в режим 1TR (recovery OS), удерживая кнопку Power при загрузке. После появления командной строки требуется выполнить сценарий linuxsetup.sh, который установит ядро и настроит окружение. Далее начнёт загружаться Linux (для входа логин "pi" и пароль "raspberry."). Для возвращения macOS необходимо в режиме 1TR выполнить команду "bputil -n".
Подготовленная сборка протестирована на Mac mini M1 и позволяет запустить рабочий стол Ubuntu при загрузке с USB. Поддерживается USB, I2C и DART, для сетевого взаимодействия предлагается использовать внешний USB-адаптер. Аппаратное ускорение графики и расширенная периферия пока не поддерживается. Для поддержки Bluetooth требуется написание нового драйвера из-за использования нестандартного протокола на базе PCIe.

Разработчики из Corellium опередили проект Asahi Linux, основанный Гектором Мартином (Hector Martin) для портирования Linux на системы с чипом Apple M1, который пока ограничился проведением обратного инжиниринга и экспериментами с загрузчиком. Тем не менее, ключевой целью Asahi Linux является не просто загрузка Linux, а обеспечение полноценной поддержки механизмов управления питанием и задействование возможностей GPU Apple M1, в котором применяется специфичный набор инструкций. Патчи же Corellium ограничиваются обеспечением загрузки и поддержкой специфичных особенностей чипов M1, связанных с режимом SMP, таймерами, прерываниями, обработкой состояния простоя и инициализацией.
Представители Asahi Linux приветствовали публикацию патчей компанией Corellium и выразили готовность оказания помощи по их рецензированию для ускорения принятия в основной состав ядра Linux.
Дополнение: Алиса Розенцвейг (Alyssa Rosenzweig) из компании Collabora, развивающая драйвер Panfrost для GPU Mali, опубликовала второй отчёт об обратном инижиниринге GPU Apple M1 и разработке для него открытого драйвера. На текущей стадии подготовлен начальный прототип драйвера, который может отрисовывать треугольники силами GPU. Для GPU M1 также вручную закодированы первые вершинные и фрагментные шейдеры. Для взаимодействия с GPU задействован драйвер ядра IOKit.
===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_corellium, #_apple
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 23-Ноя 00:09
Часовой пояс: UTC + 5