Corellium portou o Linux para o Apple Silicon, permitindo inicializar o Ubuntu no novo Mac Mini com o chip Apple M1.
Desde a Apple lançou seus novos Macs com os novos chips ARM de alto desempenho da empresa, os desenvolvedores de software terceirizados têm trabalhado arduamente para colocar sistemas operacionais alternativos em funcionamento no novo hardware. No início do mês passado, alguns desenvolvedores inicializou o Windows 10 e o Fedora Linux em um Mac M1 por meio de virtualização, mas o maior avanço no desenvolvimento de sistemas operacionais alternativos para Macs M1 veio da equipe da Corellium, uma empresa especializada em virtualização de dispositivos ARM. A equipe conseguiu portar o Linux e torná-lo “completamente utilizável” no M1 Mac Mini.
Em uma postagem de blog, Corellium explica como eles portaram o Linux para os novos Macs. A empresa aproveitou sua experiência no desenvolvimento do projeto Sandcastle — que habilitou a inicialização do Android em iPhones mais antigos suscetível à exploração checkm8 – para escrever drivers Linux para os novos SoCs da Apple. Felizmente, a Apple oficialmente permite inicializar kernels personalizados em Apple Silicon Macs, portanto não há necessidade de aproveitar uma exploração para inicializar um não assinado núcleo. Sem entrar em detalhes essenciais -
Postagem do blog Corellium faz um ótimo trabalho nisso - as interfaces de firmware e o processo de inicialização do Apple Silicon são muito diferentes em comparação com outros ARM de 64 bits SoCs. Com um pouco de trabalho, a equipe Corellium conseguiu adicionar suporte para interfaces de hardware suficientes para inicializar o Ubuntu Linux no Mac M1 Mini.Os patches necessários para inicializar o Linux em Macs M1 estão documentados aqui, enquanto o código-fonte do pré-carregador necessário para iniciar os núcleos do processador pode ser encontrado aqui. As mudanças foram empurrados rio acima, embora seja necessário muito mais trabalho antes que o código seja mesclado. Felizmente, outros membros da comunidade Linux estão trabalhando para oferecer suporte ao Linux em Macs M1. Mais notavelmente, a equipe por trás o projeto Asahi Linux financiado coletivamente – que visa portar o Arch Linux para Apple Silicon Macs – é trabalhando na engenharia reversa da arquitetura GPU para ativar a aceleração de hardware. Para inicializar o Linux diretamente em Macs M1, estamos trabalhando para usar Pongo OS como o gerenciador de inicialização.
Se você estiver interessado em experimentar o Linux em seu próprio M1 Mac Mini, Corellium compartilhou instruções sobre como inicializar o Ubuntu. Você pode encontrar as instruções completas aqui, mas, em resumo, você precisará baixar a imagem ao vivo (que é ligeiramente modificada da versão ARM64 Ubuntu para Raspberry Pi), copie a imagem para uma unidade USB externa (que precisa ter pelo menos 16 GB de capacidade), conecte sua unidade USB à porta USB-C do Mac Mini, inicialize no sistema operacional de recuperação, instale o kernel personalizado (Corellium forneceu um script de configuração) e, em seguida, faça login usando o padrão credenciais.
Como você pode ver, o processo de instalação não é muito fácil de usar, por isso não é recomendado para iniciantes mexerem no Linux em seu Mac Mini. Além disso, não há aceleração de GPU ou suporte para núcleos de aprendizado de máquina do M1, então não espere jogar ou executar tarefas de ML. Ainda assim, esta é uma notícia empolgante para qualquer pessoa interessada em hardware de PC e Linux. O desempenho e a duração da bateria oferecidos pelos Apple Silicon MacBooks são incomparáveis, portanto, essas máquinas serão perfeitas para programação em trânsito. Até Linus Torvalds concorda.