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

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

Corellium има богат опит в мигрирането от Linux към чипове на Apple използвани в мобилни устройства като iPhone. В началния етап на миграцията тестерите бяха насърчени, че много от компонентите на Apple M1 се базират на технологии, които вече се използват от Apple в други SoC.

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

Например, в конвенционалните ARM SoC, активирането на ядрата на процесора се извършва чрез PSCI (Power State Coordination Interface), предоставен от фърмуера и на Apple M1 изисква манипулация на MMIO регистъра.

На този етап Разработчиците на Corellium изпревариха проекта Asahi Linux, основана от Héctor Martin за пренасяне на Linux към системи с чип Apple M1, който досега е бил ограничен до обратен инженеринг и експерименти с буутлоудър. Основната цел на Asahi Linux обаче не е просто да стартира Linux, а да осигури пълна поддръжка на механизмите за управление на захранването и да използва възможностите на графичния процесор Apple M1, който използва специфичен набор от инструкции.

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

Лос Представителите на Asahi Linux приветстваха пускането на кръпки Corellium и те изразиха желанието си да предоставят помощ за партньорски проверки, за да ускорят масовото приемане на ядрото на Linux.

Освен това се казва, че Alyssa Rosenzweig (от 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 (Recovery OS), като натиснете и задържите бутона за захранване, докато стартирате. След като се появи командният ред, трябва да стартирате скрипта linuxsetup.sh, който ще инсталира ядрото и ще конфигурира средата.

Това е времето, когато Linux ще започне да работи, като има предвид, че за да върнете macOS, трябва да изпълните командата "bputil -n" в режим 1TR.

Ready build поддържа USB, I2C и DART, препоръчва се да се използва външен USB адаптер за мрежа, докато графичното хардуерно ускорение и разширените периферни устройства все още не се поддържат. Поддръжката на Bluetooth изисква писане на нов драйвер поради използването на нестандартен PCIe-базиран протокол.

Fuente: https://corellium.com


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

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