Linux untuk macOS M1: Apa yang dilakukan tim Asahi Linux pada Januari-Februari 2021 (bagian 2)

Saya terus menerjemahkan laporan proyek Asahi Linux.





Ayo bermain dengan besi

m1n1 berasal dari mini , skin minimal yang saya kembangkan untuk Nintendo Wii. mini banyak membantu saya dengan eksperimen dan sebagai dasar untuk BootMii (bagi mereka yang memiliki Wii dan memahami apa - mini adalah apa yang sebenarnya berjalan pada CPU ARM saat Anda berada di menu BootMii).





Oke, jadi apa hubungannya ini dengan bootloader Apple Silicon?





Nah, mini adalah program kecil dan cukup sederhana yang dapat bekerja langsung dengan perangkat keras dan berjalan langsung pada sistem ARM 32-bit tanpa pustaka atau ketergantungan lainnya. Ini adalah dasar yang baik untuk memperluas fungsionalitas, jadi kami memindahkannya ke AArch64 dan Apple Silicon, dan memanggil port m1n1.





Yang ternyata jauh lebih penting, m1n1 mewarisi fitur mematikan dari mini: karena mini diluncurkan dengan prosesor tambahan yang perlu dikontrol dari prosesor utama, ia memiliki RPC bawaan yang berjalan melalui port serial. Ini berarti kita dapat mengontrol mini dan m1n1 dari komputer lain langsung selama operasi. m1n1 memungkinkan penggunaan skrip Python yang berjalan di komputer lain untuk memanipulasi perangkat keras pada Mac target m1. Anda bahkan dapat melakukannya langsung dari terminal interaktif ! Sejujurnya, ini adalah alat universal untuk bereksperimen dengan perangkat keras, yang, secara kebetulan, juga bertindak sebagai bootloader Linux dalam kasus kami.





m1n1 Apple . , , x86 Rosetta. Apple-specific CPU . , . , , , Linux .





M1 Mac Mini m1n1 7 , , ( BSOD :) ). m1n1 , : m1n1, kmutils, .





m1n1 Apple ARM, , (, ), .





m1n1, . - , macOS . , Apple, , , , . - nouveau, nvidia gpu - Linux , .





, - , . M1 mac? :)





UART!

, . , UART , , . CPU, , .





, - RS-232 COM , . ( ) , , , .





M1 ?





, M1 , - USB-C ! , , USB-PD. USB-PD (Power delivery) Type C . USB , , , - , , , DisplayPort, , , . Type C . , ( ), DFU recovery mode, (I2C).





vdmtool: , Arduino, USB-PD PHY . , , , . : , USB-PD PHY, Type C, 1.2 UART , .





: m1 - ! , , Type C (SuperSpeed / USB3.0) macvdmtool. m1 , . API , , .





, , mac m1 - :) USB-PD , . , , , , Android . USB-PD , , , . , ! - , 1 .





, , : , 150/c. M1 , , USB , ( iPhone), USB- (CDC-ACM), . USB, Type C ( CtoA) . USB , - . - , - . m1n1, , : Type C UART USB . , , Linux, .





Kami akan menambahkan ini ke m1n1 dalam beberapa minggu mendatang, jadi pantau terus!





<Untuk dilanjutkan>








All Articles