Linux for macOS M1:朝日Linuxチームが2021年1月から2月に行ったこと(パート2)

朝日Linuxプロジェクトのレポートを翻訳し続けます。





鉄で遊ぼう

m1n1は、任天堂Wii用に開発した最小限のスキンであるmini由来します。miniは、実験とBootMiiの基礎として私を大いに助けてくれました(Wiiを所有していて、何が何であるかを理解している人のために-miniは、BootMiiメニューにいる間にARM CPUで実際に実行されているものです)。





さて、これはAppleシリコンブートローダーと何の関係があるのでしょうか?





miniは小さくてかなりシンプルなプログラムで、ハードウェアと直接連携し、ライブラリやその他の依存関係なしに32ビットARMシステムで直接実行できます。これは機能を拡張するための優れたベースであるため、AArch64とApple Siliconに移植し、ポートm1n1と呼びました。





さらに重要なことに、m1n1はminiからキラー機能を継承しました。miniはメインプロセッサから制御する必要のある追加のプロセッサで起動されたため、シリアルポートを介して実行されるRPCが組み込まれています。これは、操作中に別のコンピューターからminiとm1n1を制御できることを意味します。 m1n1を使用すると、別のマシンで実行されているPythonスクリプトを使用して、ターゲットのm1Macのハードウェアを操作できます。インタラクティブ端末から直接行うこともできます!正直なところ、これはハードウェアを実験するためのかなり普遍的なツールであり、偶然にも、私たちの場合はLinuxブートローダーとしても機能します。





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, .





これは今後数週間でm1n1に追加される予定ですので、ご期待ください。





<続く>








All Articles