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, таймерами, перериваннями, обробкою стану в режимі очікування та ініціалізацією.

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

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

На поточному етапі підготовлений початковий прототип контролера, який може малювати трикутники за допомогою графічного процесора. Для графічних процесорів 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. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.