El kernel de Linux 5.13 tendrá soporte inicial para las CPU Apple M1

Héctor Martín propuso incluir en el kernel de Linux el primer conjunto de parches preparados por el proyecto Asahi Linux, que trabaja en la adaptación de Linux para ordenadores Mac equipados con el chip Apple M1 ARM. Estos parches ya han sido aprobados por el responsable de la rama SoC de Linux y aceptados en el código base de Linux-next, sobre la base del cual se forma la funcionalidad del kernel 5.13. Técnicamente, Linus Torvalds podría bloquear la implementación de los cambios propuestos, pero tal desarrollo se considera poco probable.

Los parches incluyen soporte para componentes que no son GPU del SoC M1, como el controlador de interrupciones, el temporizador, UART, SMP, funciones de E/S y MMIO. La ingeniería inversa de la GPU aún no está completa; los parches proporcionan soporte para framebuffer y consola serie para la salida. Los dispositivos afirman ser compatibles con la computadora Apple Mac mini, que se utiliza como plataforma de referencia en el proyecto Asahi Linux (hay instrucciones de instalación detalladas disponibles).

Por otra parte, se está desarrollando un adaptador de hardware abierto, que se reconoce que simplifica la conexión a la consola a través de un puerto serie y la depuración. En su forma actual, debido al uso por parte de Apple de comandos USB-PD no estándar en sus equipos, la forma más sencilla de acceder a la consola es conectarse a otra computadora basada en el chip Apple M1 mediante un cable USB C. Un método más complejo es crear un desacoplador basado en el microcontrolador Arduino, el chip FUSB30 y el adaptador UART-TTL.

El proyecto también ha preparado el gestor de arranque m1n1, que permite cargar el kernel de Linux y el entorno mínimo del sistema en computadoras Mac con una CPU Apple M1. En equipos con CPU M1, Apple normalmente permite cargar kernels que no están firmados digitalmente sin necesidad de hacer jailbreak. Esta característica permite a los desarrolladores experimentar con nuevos kernels XNU, pero surgen dificultades al intentar iniciar otros sistemas, ya que Apple usa su propio protocolo de inicio y un formato de árbol de dispositivos diferente. El gestor de arranque m1n1 propuesto por el proyecto Asahi Linux actúa como una capa que permite utilizar el árbol de dispositivos estándar y el protocolo de arranque estándar utilizado en el kernel de Linux para ARM64. En el futuro, m1n1 planea agregar la capacidad de llamar a U-Boot y GRUB para organizar un proceso de arranque típico similar al utilizado en otras plataformas ARM64.

Fuente: opennet.ru

Añadir un comentario