今年、AppleがリリースしたmacOS 27によって、すべてのx86アーキテクチャコードが正式に削除された。有志たちが20年間にわたって挑み続けてきた「Hackintosh(夢のMac自作)」は、書類上では死刑宣告を受けた格好となった。しかし1か月も経たないうちに、この極めて堅牢に閉ざされたOSがサードパーティ製デバイス上で再び画面を点灯させた。Qualcomm Snapdragon搭載ノートPCからNintendo Switchに至るまで、熱狂的な開発者たちの手でAppleのOSが強引にインストールされたのだ。
Appleが旧アーキテクチャを廃止、5年がかりで築いたハードウェアの障壁
Appleによるハードウェア囲い込み戦略は、5年の歳月をかけて周到に進められてきた。2021年にM1チップが登場した当時、Intelは14nmプロセスで足踏みしていた。Appleはその機を捉えてPCラインナップ全体を独自設計のARMチップへと移行させた。驚異的なバッテリー持続時間と低発熱によって市場の支持を獲得し、同時にOSエコシステムを自社の製造ラインへと強固に縛り付けたのである。
公式システムが汎用プロセッサ向けの裏口を完全に塞いでしまえば、非純正デバイスでの起動は不可能になる。過去10年間、ユーザーは標準的なPC上で仮想マシンとPCIパススルー技術を活用し、外付けGPUの性能を引き出しながらmacOSを動かすことができた。だがmacOS 27が旧アーキテクチャを完全に排除したことで、そうした妥協策の土台そのものが崩壊した。コミュニティが長年メンテナンスを続けてきたオープンソースのブートローダーも、一夜にして存在意義を失った。
この封鎖ロジックは単純にして極めて有効だった。シリコンからカーネルに至る設計のすべてを掌握することで、Appleは社外製ハードウェアの生存領域を段階的に締め出していった。インターフェース仕様が非公開である限り、外部からハードウェアの内部構造を窺い知ることはできない。最新OSを体験したければ純正デバイスを購入するしかないと、誰もが信じ込まされていた。
20年におよぶシステム移植、人力の限界という壁
閉鎖的なOSを見知らぬチップの上で動作させるには、途方もないエンジニアリング作業が要求される。開発チームはカーネルを1行ずつ逆コンパイルし、Apple独自のドライバプロトコルを汎用マザーボードに合わせてマッピングしなければならない。ドキュメントが存在しないバイナリの迷宮を手探りで進み、手作業で何百もの実行時エラーを修正していく必要があった。
こうした極めて高い技術的ハードルゆえに、エコシステム全体のごく一部のエリート専門家の余暇時間に依存せざるを得なかった。実際にカーネル拡張を書ける人間は、常に限られた一握りに過ぎない。Appleがメジャーアップデートを配信するたびに、彼らは数か月を費やしてレジスタの挙動を追跡し直した。専用インターフェースが複雑に絡み合う独自チップの前で、手作業による適合作業の生産性は限界に直面していた。
メーカー公式のデータシートがない状況では、愛好家の散発的な作業が企業の囲い込みスピードに追いつくことはできない。たった1つの周辺機器ドライバを動作させるだけでも、数か月の労力を費やしてようやく最低限の応答を得るのが関の山だった。低レベルの保守を人間の体力だけに頼っている以上、エコシステムの衰退は時間の問題だった。
macOS 27の発表直前、コミュニティは静まり返っていた。モバイル向けARMチップには統一されたバス規格が存在せず、ハードウェア設計はベンダーごとにバラバラである。各SoCのGPUコアごとにゼロから専用ドライバを書かなければならない。有志の情熱だけでこの技術的断崖を埋めることは、もはや不可能なように見えた。
コードを1行も書かずに:旧型ノートPCが1日で最新アプリをビルド
この膠着状態は、ある偶然の技術的試みによって打破された。ベテラン開発者のYoon氏はモバイルアプリのビルド環境を必要としていたが、手元に最新のMacがなかった。そこで押し入れから初期型Intelチップを搭載したThinkPad T490を引っ張り出し、旧バージョンのOSをセットアップした。従来であれば、大量のハードウェアパッチを手作業で構成しなければならない作業である。
AppleはXcode 26にClaude CodeとCodexを深く統合していた。Yoon氏がこれらのAIモデルに互換性エラーの診断を依頼すると、システムはわずか数秒でパッチスクリプトを出力した。結果として彼は、自らコードを1行も書くことなく、わずか1日で開発環境の構築を完遂したのである。
この1日の実験は、まったく新しい可能性を提示した。大規模言語モデルは、低レベルなシステムエラーを解析する際、極めて強力な論理推論スピードを発揮する。従来なら専門家が数週間かけて解明していたシンボルの競合も、AIなら数分で修正パッチを生成できる。開発者がハードウェアの細部を隅々まで解読しなくても、アルゴリズムの力で移植の障壁を一気に突破できるようになったのだ。
ビルド環境が整うと、さらに深層のリバースエンジニアリング作業も同様のペースで進展した。マシン語の逆アセンブルを人間が目を皿にして読み解く必要はもはやない。十分なコンテキストさえ提供すれば、モデルがアーキテクチャを越えて高精度なパターンマッチングを実行する。既知のドライバ実装と未知のエラーログの間に、アルゴリズムが自動的に架け橋を築いたのである。
図:Maliドライバを適用したARMボード「RK3588」上で稼働するmacOS 27.2 Beta。出典:naut.ca
リバースエンジニアリングとLLMの融合:携帯ゲーム機が数週間でAppleシステムを受容
孤立したブレイクスルーは、瞬く間に開発コミュニティ全体の総攻撃へと発展した。開発者たちはリバースエンジニアリングフレームワーク「Ghidra」とClaude Codeをパイプラインで直結した。アセンブリコードを手作業で解読する苦行は、アルゴリズムがハードウェアドライバのパッチを自動出力するフローへと置き換わった。コミュニティはこの連携を「ステロイドを打ったソフトウェアエンジニアリング」と呼んだ。
その後の数週間で成し遂げられた成果は、業界の予測を根底から覆した。macOS 27はSnapdragonアーキテクチャの薄型ノートPC上で正常に起動した。最新のmacOS 27.2ベータ版に至っては、RK3588開発ボード上で直接デスクトップを描画させた。さらにはNvidia製チップを積んだNintendo Switchにまで、iOS 17が無理やりインストールされたのである。
図:Nintendo Switch OLED上で動作するiOS 17。出典:naut.ca
外部ハードウェアの対応範囲は猛烈な勢いで広がっている。オープンソースプロジェクト「nullmoth」により、Nvidia RTX 50シリーズグラフィックスカードが史上初めてmacOS上でシステムレベルのグラフィックアクセラレーションを獲得した。AirDropやハードウェア動画デコードといったプロプライエタリな通信規格も、アルゴリズムの支援を受けて次々と解明されている。巨大企業が築き上げた技術的な障壁は、参入障壁の低くなったリバースエンジニアリングパイプラインによって急速に均されている。
かつて数か月の工数を要した移植作業は、今や数回のプロンプト対話へと圧縮された。モデルは対象チップのレジスタ定義を分解し、既存のオープンソースドライバを参照しながら、欠落しているカーネル関数を自動補完する。専用グラフィックインターフェースも、高密度なアルゴリズム推論の前に一枚ずつ剥がされている。
移植コストが消失したとき、ハードウェアの主権はユーザーへと戻る
今回の復興劇は、本質的なルールを浮き彫りにした。OSの移植とは、根底においてはコスト計算の問題に過ぎない。これまで代替ハードウェアへの導入を阻んでいた最大の要因は、ドライバの翻訳と修正に膨大な人間の労力がかかる点にあった。AIがリバースエンジニアリングのコストをゼロ近くまで押し下げた瞬間、独自ハードウェアによる防御壁は抑止力を失う。
Appleは旧アーキテクチャを切り捨てることで支配力を強固にし、高価な純正ハードウェアを買わせようとした。しかし逆コンパイルモデルの進化が、このいたちごっこの力学を一変させた。終焉を迎えたのはHackintoshではなく、職人芸的な手作業に依存した旧時代の開発スタイルだったのだ。高速で自己改善を続けるコード生成ツールを前に、プロプライエタリな障壁には修復不可能な亀裂が走っている。
フロンティアモデルの学習に莫大な電力と計算資源を投じることに対して、世間からは長らく疑問が投げかけられてきた。だが、非公式ハードウェア上で蘇ったこのOSは、明快な答えを提示している。カーネルのリバースエンジニアリングが普遍的なツールとなった時代、人為的に作られたハードウェアロックが永続することはない。代金を支払って購入した物理デバイスは、最終的にユーザー自身の手へと戻ってくるのだ。
参考リンク:
- naut.ca:Yoon氏の技術ブログ
- Hacker Newsコミュニティの議論