Corellium a réalisé le portage de Linux sur Mac M1 (+ tuto)

linux exam lx0 103 lx0 104 icone app ipa iphone ipadLinux, via une distribution Ubuntu, est installable et fonctionnel sur les Mac M1 grâce au travail effectué par Corellium. C'est Chris Wade, le directeur technique de la société, qui l'a annoncé ce soir. Les chercheurs en sécurité de l'entreprise ont développé un portage qui a été publié sur GitHub avec un tutoriel d'installation à venir dans les prochaines heures.
 

Linux tourne sur Mac M1

Corellium a pu démarrer avec succès un Mac M1 sous Linux, avec un dongle USB-C permettant des capacités de mise en réseau et la prise en charge des connectiques USB, I2C et DART. Il existe certaines limitations, comme l'absence de support de l'accélération GPU. Le portage repose pour le moment sur le rendu logiciel.

Corellium travaille sur un portage Linux pour les Mac ‌M1‌ depuis le début du mois, et au cours du week-end, de nets progrès ont été réalisés.
 



Pour ceux qui ne connaissent pas Corellium, il s'agit d'une société de virtualisation de logiciels qui se concentre sur l'architecture Arm, offrant des outils de recherche sur la sécurité, de test d'applications, etc. Corellium est actuellement impliqué dans une bataille juridique avec Apple, car la firme de Cupertino affirme que le travail d'émulation d'iOS par Corellium viole sa propriété intellectuelle.

Corellium a récemment remporté une victoire contre Apple après qu'un juge a décidé de rejeter les revendications de droits d'auteur dans le procès et a convenu avec Corellium que la société fonctionne selon des conditions d'utilisation équitable. Les autres demandes dans le procès n'ont pas encore été traitées.

evenement apple novembre 2020 apple m1
 

Mise à jour du 21/01/21 : Corellium a détaillé le procédé et propose un tutoriel qu'on a traduit :

Dans son article de jeudi, Corellium dit qu'ils étudient les processeurs personnalisés d'Apple depuis la sortie de l'iPhone 6 en 2014. La société a utilisé quelques exploits et cette étude précédente pour construire un port de noyau vers le processeur A10 au début de 2020.

Apple a sorti les Mac avec processeur M1 en novembre 2020. Une mise à jour du système d'exploitation a permis aux utilisateurs d'installer des noyaux personnalisés. Suite à l'ajout de cette capacité, l'équipe Corellium a commencé à travailler sur un port Linux.

L'équipe Corellium a décomposé les défis exacts auxquels ils ont été confrontés lors du portage de Linux.

Les détails techniques du portage de Linux

L'équipe Corellium affirme qu'Apple ne démarre pas ses processeurs avec des moyens traditionnels. Tout d'abord, le chargeur de démarrage exécute un exécutable appelé format de fichier objet Mach (Mach-O) enveloppé dans un format signé appelé IMG4. Cela devient encore plus compliqué à mesure que de plus en plus de cœurs de processeur sont montés, car ils commencent à une adresse spécifiée par un registre d'E / S mappées en mémoire (MMIO), puis commencent à exécuter le noyau.

Apple a conçu son propre contrôleur qui était en dehors des normes habituelles du contrôleur d'interruption générique ARM (GIC). Les interruptions de temporisation sont acheminées vers la demande d'interruption rapide (FIQ), qui n'est pas standard et reflète un système ARM 32 bits plus ancien. L'équipe dit que vous devez fournir un ensemble d'interruptions interprocesseurs (IPI) pour permettre à plusieurs processeurs de communiquer.

L'équipe Corellium avait l'expérience de la prise en charge FIQ et était préparée pour la plupart des approches non standard d'Apple. À la fin, l'équipe a ajouté un pré-chargeur qui agit comme un wrapper pour Linux, ce qui a conduit le système d'exploitation à démarrer sur le processeur M1.

L'équipe ne disposait pas de câble d'interface pour le Mac M1, elle a donc dû trouver une autre voie. Sur les trois options; Bluetooth, l'hôte USB ou l'hôte USB xHCI sur PCIe, ils ont choisi l'hôte USB et ont dû interagir avec une puce sur I2C.

Une fois qu'ils avaient une bonne connexion USB, ils pouvaient connecter un clavier, une souris et une clé USB. Cela a ouvert la possibilité d'exécuter une distribution Linux de bureau normale.

Tutoriel pour installer Linux sur Mac M1

1. Télécharger Ubuntu

La première étape pour démarrer Linux sur votre Mac Mini M1 consiste à télécharger les rootfs Ubuntu POC disponibles ici. Nous avons utilisé une image de voiture Raspberry Pi il a besoin d'une image de démarrage USB en direct, nous n'avons pas dû apporter que des modifications mineures pour le démarrage.

2. Extraire l'image

Vous aurez besoin d'une clé USB externe d'au moins 16G. Extrayez l'image en tapant:

tar -xjvf ubuntu-20.10-bureau-préinstallé-arm64+raspi.img.bz2


Ensuite, utilisez l'utilitaire de disque pour localiser le nom du disque externe. Enfin, copiez l'image sur la clé USB en utilisant :

sudo dd if = ubuntu-20.10-preinstalled-desktop-arm64+raspi.imgof=/dev/rYOURUSBDISK bs=1m

3. Connexion au Mac

Connectez votre clé USB au Mac Mini M1 à l'aide d'un dongle via le port USB C. Les ports USB A ne sont actuellement pas pris en charge.

4. Démarrez dans 1TR

Pour démarrer dans 1TR (le seul véritable système d'exploitation de récupération), éteignez votre Mac Mini M1, puis maintenez la pression jusqu'à ce que vous voyiez "options de chargement". Une fois qu'il se charge, vous pouvez sélectionner l'option de terminal dans la barre de menu en haut.

5. Le noyau personnalisé

L'étape suivante consiste à installer le noyau personnalisé. Ils ont créé un script qui vous facilite cette étape. Vous pouvez l'exécuter en tapant:

/bin/bash -c "$ (curl -fsSL https://downloads.corellium.info/linuxsetup.sh)"


Le script vous demande votre nom d'utilisateur et votre mot de passe. Une fois que vous le voyez imprimer "Kernel installed", vous pouvez taper reboot en toute sécurité.

6. Connexion

Une fois que vous avez démarré, vous serez invité à vous connecter. Le nom d'utilisateur est "pi" et le mot de passe est "framboise". Le mot de passe root est également «framboise».

 

Vous aimerez peut-être


Suivez-nous avec notre app iSoft
Articles populaires
Donner votre avis

 





Les réactions

1 54nd10 - iPhone premium

21/01/2021 à 22h46 :

Le password est ‘raspberry’ pas ‘framboise’ 😅