Corellium anuncia o seu porto de Linux para chips M1

Corellium presentou unha versión de Linux adaptada para funcionar en ordenadores Apple máis novos equipados co chip M1, a variante do núcleo Linux compatible co chip Apple M1 libérase baixo a licenza GPLv2 e os parches foron enviados para a súa inclusión no núcleo principal.

Corellium ten unha ampla experiencia na migración de Linux a chips Apple úsase en dispositivos móbiles como o iPhone. Na fase inicial da migración, animouse aos probadores a que moitos dos compoñentes de Apple M1 estivesen baseados en tecnoloxías xa usadas por Apple noutros SoC.

Pero no proceso de escribir controladores, quedou claro que non todo é tan sinxelo e o chip Apple M1 inclúe moitas solucións non estándar. O soporte de Linux para SoC ARM de 64 bits baséase en bloques comúns e interfaces de firmware, pero o Apple M1 case non usa solucións típicas.

Por exemplo, nos SoC ARM convencionais, a activación dos núcleos da CPU realízase a través da PSCI (Power State Coordination Interface) proporcionada polo firmware e en Apple M1 require a manipulación do rexistro MMIO.

Nesta etapa, Os desenvolvedores de Corellium adiantáronse ao proxecto Asahi Linux, fundada por Héctor Martin para transportar Linux a sistemas co chip Apple M1, que ata agora limitábase á enxeñería inversa e a experimentar cun cargador de arranque. Non obstante, o obxectivo clave de Asahi Linux non é só arrincar Linux, senón proporcionar un soporte completo para os mecanismos de xestión de enerxía e utilizar as capacidades da GPU Apple M1, que usa un conxunto específico de instrucións.

Os parches Corellium limítanse a proporcionar arranque e soporte para funcións específicas de chips M1 relacionados co modo SMP, temporizadores, interrupcións, manexo do estado de inactividade e inicialización.

O Os representantes de Asahi Linux acolleron con satisfacción o lanzamento de parches Corellium e expresaron a súa disposición a proporcionar asistencia de revisión por pares para acelerar a adopción do núcleo Linux.

Ademais, tamén se dixo que Alyssa Rosenzweig (de Collabora que desenvolve o controlador Panfrost GPU Mali) publicou un segundo informe sobre enxeñería inversa e desenvolvemento de controladores de código aberto para a GPU Apple M1.

Na fase actual, preparouse un prototipo inicial do controlador, que pode debuxar triángulos usando a GPU. Para as GPU M1, os primeiros sombreadores de vértices e fragmentos tamén están codificados manualmente. O controlador de núcleo IOKit úsase para interactuar coa GPU.

O Apple M1 tamén usa o seu propio controlador de interrupcións AIC (Apple Interrupt Controller), que na súa maioría é incompatible cos GIC ARM estándar e un mecanismo diferente para ligar as interrupcións dun temporizador. Ademais, para organizar a interacción entre varios procesadores, úsanse rexistros separados que controlan IPI (interrupcións entre procesadores).

Para iniciar nun ordenador Mac Mini M1 cun chip Apple M1, prepárase unha imaxe rootfs lista para usar, construído sobre a base da compilación de Ubuntu para Raspberry Pi.

Para instalalo, debes copiar a imaxe nunha unidade USB, conecte esta unidade ao porto USB-C e inicie o ordenador en modo 1TR (Recovery OS) mantendo premido o botón de acendido durante o arranque. Despois de que apareza a liña de comandos, ten que executar o script linuxsetup.sh, que instalará o núcleo e configurará o ambiente.

É entón cando Linux comezará a funcionar, mentres que para devolver macOS, debes executar o comando "bputil -n" no modo 1TR.

Ready build admite USB, I2C e DART, suxírese usar un adaptador USB externo para a rede, aínda que aínda non se admiten aceleración de hardware gráfico e periféricos estendidos. A compatibilidade con Bluetooth require escribir un novo controlador debido ao uso dun protocolo non estándar baseado en PCIe.

Fuente: https://corellium.com


O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

Sexa o primeiro en opinar sobre

Deixa o teu comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.