年の初めに ヘクター・マーティン (マーカンとも呼ばれます) カーネルを移植できるようにする作業に関心があることを発表します を搭載したMacコンピュータで実行するLinux Appleの新しいARMチップであるM1。
このタスクの場合 HéctorMartinはPatreonで資金調達キャンペーンを開始しました プロジェクトに興味を持っている、またはHéctorをサポートしているすべての人が、新しいAppleM1シリーズのためにLinuxに移植できるように寄付をしました。 それと プロジェクトが正式に開始されました マーカンはそれをAsahiLinuxと呼び、公式Webサイトとコードリポジトリを作成しました。
ヘクターは、Linuxを珍しいシステムに適応させた豊富な経験があります。たとえば、LinuxをNintendo Switch / Wii、Microsoft Kinect、Sony PlayStation 3/4に移植したことで知られています(彼は、 PlayStationでの保護3)。
そして今、より最近のニュースで HéctorMartinはカーネルに含めることを提案しました Linux最初 のために準備されたパッチのセット ARM AppleM1チップを搭載したMacコンピュータ用のLinuxポート 朝日Linuxプロジェクトで使用されます。
これらのパッチは、Linux SoCブランチメンテナによってすでに承認されており、Linux-nextコードベースに受け入れられています。これに基づいて、5.13カーネル機能が構築されています。 技術的には、Linus Torvaldsは提案された変更の配信をブロックできますが、この開発はありそうもないと考えられています。
最初のAppleM1ハードウェアをテストしてからXNUMXか月が経ち、「デバッグにほぼ適した」完全に基本的なブート環境に到達するのに毎日時間がかかりました。
Asahi開発者がM1のGPUをリバースエンジニアリングし、高品質のオープンソースドライバーを作成するのにかかる時間を推測することは不可能です。 今でも、彼らがそれを完全にやめることは不可能ではありません。 または、何らかの理由で、初期段階で作業が受け入れられない場合があります。
パッチには、非GPU SoCM1コンポーネントのサポートが含まれます。 割り込みコントローラー、タイマー、 UART、SMP、I / OおよびMMIO機能。 GPUのリバースエンジニアリングはまだ完了していません。出力をパッチに編成するために、シリアルポートを介したフレームバッファーとコンソールのサポートが提供されています。
これらのデバイスのうち、朝日Linuxプロジェクトのリファレンスプラットフォームとして使用されているApple Mac miniコンピューターとの互換性が宣言されています(詳細なインストール手順が利用可能です)。
別のオープンハードウェアアダプタが開発されています シリアルコンソールの接続とデバッグを簡素化するため。 現在の形式では、AppleはコンピューターでカスタムUSB-PDコマンドを使用しているため、コンソールにアクセスする最も簡単な方法は、USBCケーブルを使用してAppleのM1チップに基づく別のコンピューターに接続することです。 Arduinoマイクロコンピュータ、FUSB30チップ、およびUART-TTLアダプタに基づくジャンクション。
プロジェクト m1n1ブートローダーも用意しました、これにより、Apple M1CPUを搭載したMacコンピュータにLinuxカーネルと最小限のシステム環境をロードできます。 通常モードのM1CPUを搭載したコンピューター上のAppleは、脱獄を必要とせずにデジタル署名されていないカーネルをロードすることを許可します。
この機能 開発者が新しいXNUカーネルを試すことができます ただし、Appleは独自の起動プロトコルと異なるデバイスツリー形式を使用しているため、他のシステムを起動しようとするのは困難です。
Asahi Linuxプロジェクトによって提案されたm1n1ブートローダーは、ARM64のLinuxカーネルで使用される標準のデバイスツリーと標準のブートプロトコルを使用できるようにするレイヤーとして機能します。 将来的には、m1n1は、他のARM64プラットフォームで使用されるものと同様に、U-BootおよびGRUBを呼び出して一般的なブートプロセスを編成する機能を追加する予定です。