Η Corellium ανακοινώνει τη θύρα του Linux σε μάρκες M1

Η Corellium παρουσίασε μια προσαρμοσμένη έκδοση του Linux για να τρέχετε σε νεότερους υπολογιστές Apple που είναι εξοπλισμένοι με το τσιπ M1, η παραλλαγή πυρήνα Linux που είναι συμβατή με το τσιπ Apple M1 κυκλοφορεί με την άδεια GPLv2 και έχουν αποσταλεί μπαλώματα για συμπερίληψη στον κύριο πυρήνα.

Η Corellium έχει εκτεταμένη εμπειρία μετεγκατάστασης από Linux σε μάρκες Apple χρησιμοποιείται σε κινητές συσκευές όπως το iPhone. Στο αρχικό στάδιο της μετανάστευσης, οι δοκιμαστές ενθαρρύνθηκαν ότι πολλά από τα στοιχεία της Apple M1 βασίζονται σε τεχνολογίες που έχουν ήδη χρησιμοποιηθεί από την Apple σε άλλα SoC.

Όμως, κατά τη διαδικασία σύνταξης προγραμμάτων οδήγησης, κατέστη σαφές ότι δεν είναι όλα τόσο απλά και το τσιπ Apple M1 περιλαμβάνει πολλές μη τυπικές λύσεις. Η υποστήριξη Linux για ARM 64-bit SoCs βασίζεται σε κοινά μπλοκ και διεπαφές υλικολογισμικού, αλλά το Apple M1 δεν χρησιμοποιεί τυπικές λύσεις.

Για παράδειγμα, σε συμβατικά ARM SoCs, η ενεργοποίηση των πυρήνων της CPU γίνεται μέσω του PSCI (Power State Coordination Interface) που παρέχεται από το υλικολογισμικό και στο Apple M1 απαιτεί χειρισμό του μητρώου MMIO.

Σε αυτό το στάδιο, Οι προγραμματιστές Corellium ξεπέρασαν το έργο Asahi Linux, ιδρύθηκε από τον Héctor Martin για να μεταφέρει το Linux σε συστήματα με το Apple M1 chip, το οποίο μέχρι τώρα περιορίζεται στην αντίστροφη μηχανική και στον πειραματισμό με ένα bootloader. Ωστόσο, ο βασικός στόχος του Asahi Linux δεν είναι μόνο η εκκίνηση του Linux, αλλά η παροχή πλήρους υποστήριξης για μηχανισμούς διαχείρισης ισχύος και η χρήση των δυνατοτήτων της Apple M1 GPU, η οποία χρησιμοποιεί ένα συγκεκριμένο σύνολο οδηγιών.

Τα μπαλώματα Corellium περιορίζονται στην παροχή εκκίνησης και υποστήριξης για συγκεκριμένες λειτουργίες τσιπ M1 που σχετίζονται με τη λειτουργία SMP, χρονοδιακόπτες, διακοπές, χειρισμό και εκκίνηση σε κατάσταση αδράνειας.

Ο Οι εκπρόσωποι του Asahi Linux χαιρέτισαν την κυκλοφορία των διορθώσεων Corellium και εξέφρασαν την προθυμία τους να παρέχουν βοήθεια από ομότιμους κριτές για να επιταχύνουν την υιοθέτηση του πυρήνα Linux.

Επιπλέον, λέγεται ότι η Alyssa Rosenzweig (από την Collabora που αναπτύσσει το πρόγραμμα οδήγησης Panfrost GPU Mali) έχει δημοσιεύσει μια δεύτερη έκθεση για την αντίστροφη μηχανική και την ανάπτυξη προγραμμάτων οδήγησης ανοιχτού κώδικα για την Apple M1 GPU.

Στο τρέχον στάδιο, έχει προετοιμαστεί ένα αρχικό πρωτότυπο του ελεγκτή, το οποίο μπορεί να σχεδιάσει τρίγωνα χρησιμοποιώντας την GPU. Για M1 GPUs, η πρώτη κορυφή και οι θρυμματιστές είναι επίσης κωδικοποιημένες με το χέρι. Το πρόγραμμα οδήγησης πυρήνα IOKit χρησιμοποιείται για την αλληλεπίδραση με την GPU.

Το Apple M1 χρησιμοποιεί επίσης τον δικό του ελεγκτή διακοπής AIC (Apple Interrupt Controller), το οποίο ως επί το πλείστον δεν είναι συμβατό με τα τυπικά ARM GIC και ένας διαφορετικός μηχανισμός για τη διακοπή της σύνδεσης από ένα χρονόμετρο. Επιπλέον, για την οργάνωση της αλληλεπίδρασης μεταξύ πολλαπλών επεξεργαστών, χρησιμοποιούνται ξεχωριστοί καταχωρητές που ελέγχουν το IPI (διακοπές μεταξύ επεξεργαστών).

Για εκκίνηση σε υπολογιστή Mac Mini M1 με τσιπ Apple M1, προετοιμάζεται μια έτοιμη προς χρήση εικόνα rootfs, χτισμένο βάσει του Ubuntu build για Raspberry Pi.

Για εγκατάσταση, πρέπει να αντιγράψετε την εικόνα σε μια μονάδα δίσκου USB, συνδέστε αυτήν τη μονάδα στη θύρα USB-C και ξεκινήστε τον υπολογιστή σε λειτουργία 1TR (Recovery OS) πατώντας και κρατώντας πατημένο το κουμπί λειτουργίας κατά την εκκίνηση. Αφού εμφανιστεί η γραμμή εντολών, πρέπει να εκτελέσετε το σενάριο linuxsetup.sh, το οποίο θα εγκαταστήσει τον πυρήνα και θα ρυθμίσει το περιβάλλον.

Τότε θα αρχίσει να τρέχει το Linux, ενώ για να επιστρέψετε το macOS, πρέπει να εκτελέσετε την εντολή "bputil -n" σε λειτουργία 1TR.

Η έτοιμη έκδοση υποστηρίζει USB, I2C και DART, προτείνεται η χρήση εξωτερικού προσαρμογέα USB για δίκτυο, ενώ η επιτάχυνση υλικού γραφικών και τα εκτεταμένα περιφερειακά δεν υποστηρίζονται ακόμη. Η υποστήριξη Bluetooth απαιτεί τη σύνταξη ενός νέου προγράμματος οδήγησης λόγω της χρήσης ενός μη τυπικού πρωτοκόλλου που βασίζεται σε PCIe.

πηγή: https://corellium.com


Προσθήκη ως προτιμώμενης πηγής στην Google