W jądrze Linux 5.13 pojawi się wstępne wsparcie dla CPU Apple M1

Hector Martin zaproponował włączenie do jądra Linux pierwszego zestawu poprawek przygotowanych przez projekt Asahi Linux, który pracuje nad dostosowaniem systemu Linux dla komputerów Mac z chipem ARM Apple M1. Wspomniane poprawki zostały już zatwierdzone przez opiekuna gałęzi Linux SoC i przyjęte do bazy kodu Linux-next, na podstawie której formuje się funkcjonalność jądra 5.13. Technicznie, Linus Torvalds może zablokować dostarczenie proponowanych zmian, ale taki rozwój wydarzeń oceniany jest jako mało prawdopodobny.

Poprawki obejmują wsparcie dla komponentów SoC M1, niezwiązanych z GPU, takich jak kontroler przerwań, timer, UART, SMP, funkcje do organizacji wejścia/wyjścia oraz MMIO. Inżynieria wsteczna GPU nie została jeszcze zakończona, więc wsparcie dla wyjścia w poprawkach zapewnia obsługę ramki buforowej oraz konsoli przez port szeregowy. Z urządzeń zgłoszono wsparcie dla komputera Apple Mac mini, który jest używany jako wzorcowa platforma w projekcie Asahi Linux (dostępna jest szczegółowa instrukcja instalacji).

Osobno rozwijany jest otwarty adapter sprzętowy, który ma na celu uproszczenie podłączenia do konsoli przez port szeregowy oraz proces debugowania. W obecnym stanie, z powodu używania przez Apple w swoim sprzęcie niestandardowych komend USB-PD, najprostszym sposobem uzyskania dostępu do konsoli jest połączenie z innym komputerem opartym na chipie Apple M1 za pomocą kabla USB C. Większym wyzwaniem jest stworzenie interfejsu opartego na mikrokontrolerze Arduino, chipie FUSB30 oraz adapterze UART-TTL.

Projekt przygotował również bootloader m1n1, który umożliwia uruchomienie jądra Linux i minimalnego środowiska systemowego na komputerach Mac z procesorem Apple M1. Firma Apple na komputerach z procesorami M1 standardowo zezwala na uruchamianie niepodpisanych cyfrowo jąder bez potrzeby stosowania jailbreaka. Ta właściwość pozwala deweloperom eksperymentować z nowymi jądrami XNU, ale napotyka trudności przy próbie uruchomienia innych systemów, ponieważ Apple używa własnego protokołu bootowania i innego formatu Device Tree. Proponowany przez projekt Asahi Linux bootloader m1n1 pełni rolę warstwy, umożliwiającej użycie standardowego Device Tree i standardowego protokołu bootowania stosowanego w jądrze Linux dla ARM64. W przyszłości w m1n1 planowane jest dodanie możliwości wywołania U-Boot i GRUB do zorganizowania typowego procesu bootowania, podobnego do tego, który jest używany na innych platformach ARM64.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster