Corellium, Linux bağlantı noktasını M1 yongalarına duyurdu

Corellium, M1 çipiyle donatılmış yeni Apple bilgisayarlarda çalışacak şekilde uyarlanmış bir Linux sürümü yayınladı . Apple M1 çipiyle uyumlu Linux çekirdeği varyantı GPLv2 lisansı altında yayınlandı ve ana çekirdeğe dahil edilmesi için yamalar sunuldu.

Corellium, iPhone gibi mobil cihazlarda kullanılan Apple çiplerine Linux'u geçirme konusunda geniş deneyime sahiptir . İlk geçiş aşamasında, test uzmanları Apple M1'in birçok bileşeninin Apple tarafından diğer SoC'lerde zaten kullanılan teknolojilere dayandığını öğrenmekten memnuniyet duymuşlardır.

Ancak sürücü geliştirme sürecinde işlerin o kadar basit olmadığı ve Apple M1 çipinin birçok standart dışı çözüm içerdiği anlaşıldı . 64 bit ARM SoC'ler için Linux desteği, yaygın yapı taşlarına ve bellenim arayüzlerine dayanır , ancak Apple M1 neredeyse hiçbir tipik çözüm kullanmıyor.

Örneğin, geleneksel ARM SoC'lerde CPU çekirdeği aktivasyonu, aygıt yazılımı tarafından sağlanan PSCI (Güç Durumu Koordinasyon Arayüzü) aracılığıyla yapılırken, Apple M1'de MMIO kaydının manipülasyonunu gerektirir.

Bu aşamada, Corellium geliştiricileri, Apple M1 çipli sistemlere Linux'u taşımak amacıyla Héctor Martin tarafından kurulan ve şimdiye kadar yalnızca tersine mühendislik ve önyükleyici denemeleriyle sınırlı kalan Asahi Linux projesini geride bıraktı. Ancak Asahi Linux'un temel amacı sadece Linux'u başlatmak değil, aynı zamanda güç yönetimi mekanizmalarına tam destek sağlamak ve belirli bir komut setini kullanan Apple M1 GPU'nun yeteneklerinden yararlanmaktır.

Corellium yamaları , SMP modu, zamanlayıcılar, kesintiler, boşta kalma durumu yönetimi ve başlatma ile ilgili belirli M1 çip özelliklerine yönelik önyükleme ve destek sağlamakla sınırlıdır .

Asahi Linux temsilcileri Corellium yamalarının yayınlanmasını memnuniyetle karşıladı ve Linux çekirdeğinin yaygın kullanımını hızlandırmak için akran değerlendirmesi konusunda yardımcı olmaya istekli olduklarını ifade etti.

Ek olarak, Alyssa Rosenzweig'in (Collabora'dan Panfrost GPU Mali sürücüsünü geliştirdiği), Apple M1 GPU için tersine mühendislik ve açık kaynaklı sürücüler geliştirme üzerine ikinci bir rapor yayınladığı da söyleniyor.

Mevcut aşamada, GPU'yu kullanarak üçgenler çizebilen kontrolörün ilk prototipi hazırlandı. M1 GPU'lar için, ilk köşe ve parça gölgelendiricileri de elle kodlanmıştır. Çekirdek sürücüsü IOKit, GPU ile etkileşim kurmak için kullanılır.

Apple M1 ayrıca, standart ARM GIC'leriyle büyük ölçüde uyumsuz olan kendi Apple Kesme Denetleyicisini (AIC) ve zamanlayıcıdan gelen kesmeleri bağlamak için farklı bir mekanizma kullanır. Dahası, birden fazla işlemci arasındaki etkileşimi yönetmek için IPI'yi (işlemciler arası kesmeler) kontrol eden ayrı kayıtlar kullanılır.

Apple M1 çipli bir Mac Mini M1 bilgisayarda önyükleme yapmak için, Raspberry Pi için Ubuntu derlemesi temel alınarak oluşturulmuş , kullanıma hazır bir rootfs imajı hazırlanmıştır .

Kurulum için, imaj dosyasını bir USB belleğe kopyalayın, belleği USB-C portuna bağlayın ve bilgisayarı başlatma sırasında güç düğmesini basılı tutarak 1TR moduna (kurtarma işletim sistemi) alın. Komut satırı göründüğünde, çekirdeği kuracak ve ortamı yapılandıracak olan linuxsetup.sh betiğini çalıştırın.

Bu, Linux'un çalışmaya başlayacağı zamandır; macOS'a geri dönmek için ise 1TR modunda "bputil -n" komutunu çalıştırmanız gerekir.

Hazır yapı USB, I2C ve DART'ı destekler, ağ için harici USB adaptörünün kullanılması önerilir, ancak grafik donanım hızlandırma ve genişletilmiş çevre birimleri henüz desteklenmemektedir. Bluetooth desteği, standart olmayan bir PCIe tabanlı protokol kullanımı nedeniyle yeni bir sürücü yazmayı gerektirir.

Kaynak: https://corellium.com


Google'da tercih edilen kaynak olarak ekleyin.