Corellium объявляет о переносе Linux на чипы M1

Corellium представил адаптированную версию Linux для работы на новых компьютерах Apple, оснащенных чипом M1вариант ядра Linux, совместимый с чипом Apple M1, выпущен под лицензией GPLv2, и были отправлены исправления для включения в основное ядро.

Corellium имеет большой опыт перехода с Linux на чипы Apple. используется в мобильных устройствах, таких как iPhone. На раннем этапе миграции тестировщиков обнадежило то, что многие компоненты Apple M1 основаны на технологиях, уже используемых Apple в других SoC.

Но в процессе написания драйверов выяснилось, что не все так просто а чип Apple M1 включает в себя множество нестандартных решений. Поддержка Linux для 64-разрядных SoC ARM основана на общих строительных блоках. и интерфейсы прошивки, но Apple M1 практически не использует типовые решения.

Например, в обычных ARM SoC активация ядер ЦП выполняется через PSCI (интерфейс координации состояния питания), предоставляемый прошивкой и на Apple M1 это требует манипуляции с регистром MMIO.

На этом этапе Разработчики Corellium опередили проект Asahi Linux, основанная Эктором Мартином для переноса Linux на системы с чипом Apple M1, который до сих пор ограничивался обратным проектированием и экспериментированием с загрузчиком. Однако ключевая цель Asahi Linux - не просто загрузить Linux, а обеспечить полную поддержку механизмов управления питанием и использовать возможности графического процессора Apple M1, который использует определенный набор инструкций.

Исправления Corellium ограничены обеспечением загрузки и поддержки определенных функций. микросхем M1, связанных с режимом SMP, таймерами, прерываниями, обработкой и инициализацией состояния ожидания.

Представители Asahi Linux приветствовали выпуск патчей Corellium и они выразили свою готовность предоставить помощь в экспертной оценке для ускорения массового внедрения ядра Linux.

Кроме того, Алисса Розенцвейг (из Collabora, которая разрабатывает драйвер Panfrost GPU Mali), как сообщается, также опубликовала второй отчет о обратном проектировании и разработке драйверов с открытым исходным кодом для графического процессора Apple M1.

На текущем этапе подготовлен начальный прототип контроллера, который умеет рисовать треугольники с помощью GPU. Для графических процессоров M1 первые вершинные и фрагментные шейдеры также кодируются вручную. Драйвер ядра IOKit используется для взаимодействия с графическим процессором.

Apple M1 также использует собственный контроллер прерываний AIC. (Apple Interrupt Controller), который по большей части он несовместим со стандартными ARM GIC и другой механизм привязки прерываний от таймера. Кроме того, для организации взаимодействия между несколькими процессорами используются отдельные регистры, управляющие IPI (межпроцессорными прерываниями).

Чтобы загрузить компьютер Mac Mini M1 с чипом Apple M1, готовый образ rootfs готов, построен на основе сборки Ubuntu для Raspberry Pi.

Для установки необходимо скопировать образ на диск USB, подключите данное устройство к порту USB-C и запустите компьютер в режиме 1TR. (Восстановление ОС), нажав и удерживая кнопку питания во время загрузки. После появления командной строки необходимо запустить сценарий linuxsetup.sh, который установит ядро ​​и настроит среду.

Это когда Linux начнет работать, тогда как для возврата macOS вам нужно запустить команду «bputil -n» в режиме 1TR.

Готовая сборка поддерживает USB, I2C и DART, предлагается использовать внешний USB-адаптер для сети, а аппаратное ускорение графики и расширенные периферийные устройства пока не поддерживаются. Поддержка Bluetooth требует написания нового драйвера из-за использования нестандартного протокола на основе PCIe.

источник: https://corellium.com


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.