ファームウェアの互換性
どのゲストファームウェアと cloudOS の組み合わせが、どのホストで起動することが確認されているかをまとめています。新しいマシンのリリースを選ぶ前や、作成に失敗してその組み合わせがテストされたことがあるかを知りたい場合にご覧ください。
現在のカタログでこの Mac に提供されるものを確認するには、次を実行します。
v2.0.0 以降、vphone は config.plist が schemaVersion=2 のマシンだけを起動します。以前のリリースで作成したマシンは vm create で作り直してください。その場でのアップグレードはありません。以下の結果はテスト済みの組み合わせを示すもので、古いマシンバンドルとの互換性を示すものではありません。
テスト済みの環境
ネイティブの JB パイプラインで最初から最後まで実行した iPhone17,3 の組み合わせです。PR #486 の 2 行(PR #486)はロック画面に到達し、vphoned の ping に応答しました。新規に実行した 26.6.2 の vm create もすべての段階を完了し、初回起動の ping の後に正常終了しました。
どの cloudOS を使うか
特に理由がなければ、cloudOS 26.4 ベータ(26.4-23E5207q)を使ってください。これは vphone600ap を含む最新の cloudOS です。vphone600ap は、ゲストのカーネル、SEP、デバイスツリーの元になるアイデンティティです。また、vphone-cli 以外に何も必要としません。
それ以降の cloudOS(2026-10-03 に確認)には PCC のボードと vresearch101ap しかありません。SupportedProductTypes から iPhone99,11 がなくなり、kernelcache.*.vphone600、sep-firmware.vphone600、DeviceTree.vphone600ap もありません。このような cloudOS では、研究用ボード(Research Board パッチセット)が代わりを務めます。
fw patchは、研究用ボードのデバイスツリーと SEP を vphone600 のものに変換し、その kernelcache 用のレシピに従って、vphone600 の仮想化 kext を加えて kernelcache を作り直します。- KDK の展開はネイティブで行われ、root が必要なのはリンクだけです(
vphone-cli fw kernelcache)。kernelcache のレシピとファームウェアの準備をご覧ください。 fw prepareは、どのレシピにも該当しない cloudOS を拒否します。fw catalogは各 iOS リリースに対応する cloudOS を推奨の cloudOS と並べて表示し、Launchpad では Firmware でそれを選べます。
ほかのバージョンの iPhone と iPad も 26.4-23E5207q で動作する可能性がありますが、同じエンドツーエンドのチェックは通過していません。
iOS 18 ゲスト
iOS 18.1〜18.7.2 は、それぞれのリリースに対応する cloudOS 上で、iPhone XS ファミリーの IPSW のユーザランドを使って動作します。
vm create --device iPhone11,6で作成します。既定のプリセットは Minimal です。--preset standardは 18.6 で確認済みです。fw catalog --device iPhone11,6でリリースの一覧を表示できます。- これらのカーネルは kernel-first です。macOS 26.4 以降では、macOS 15 または 26.0〜26.3 を実行している別の Mac または macOS 仮想マシンが ssh 経由でミックスをリンクします(
VPHONE_KMUTIL_SSH。ファームウェアの準備をご覧ください)。 - Launchpad では iPhone XS Max として表示され、その Mac を macOS ビルダーとして使います。
18.1、18.5、18.7.2 は仮想マシンで確認済みです。残りの 4 つのレシピはまだ起動していません。
iOS 27.0.1 の iPhone17,3
iOS 27.0.1(24A446)は、バンドル 2.5.0 以前では初回起動に失敗します(2026-10-04 に再現、Apple の未変更の launchd でも同様)。TXM の selector-24 の事前チェックが init の時点ですべてのバイナリを拒否し、unexpected SIGKILL of init でパニックします。従来の txm-boot-precheck_admission パッチでこの問題が修正されました(研究記録をご覧ください)。このパッチを使うと、26.4-23E5207q 上の iPhone17,3 27.0.1 はゲストまで起動し、vphoned の device.info に応答します(同日に検証)。このパッチを含む最初のリリースはバンドル 2.6.0 です。
今回の変更では、type 10 として強制的に許可する従来の処理を txm-cfw-executable_remap に置き換えます。standard プリセットで選択され、OS バージョンによる制限はありません。ホスト側のテストは、元の署名拒否経路をカバーしています。iOS 27.1(24A94425)では、テスト担当者から正常な起動と App の読み込みが報告されています。実行時プローブでは、メイン実行ファイルと framework の元のコードを remap する全 28 件の実行テストが成功し、実際のマッピング権限は RX でした。以前問題が発生した iOS 27.0.1 と同一の組み合わせは、まだ再検証していません。置き換えの評価をご覧ください。
macOS 26.6.2 のホスト
2026-10-23 に Core Bundle 2.12.1 で、2026-10-24 に Core Bundle 2.12.2 で、Mac mini M4 のホスト(Mac16,10、16 GB、macOS 26.6.2 25G83)で確認しました。すべてのマシンを CLI から新規に作成しました。研究用ボードの組み合わせでは、kernelcache ミックスをユーザとして準備して sudo でリンクし、その後 sudo vphone-cli vm create を実行しました。「標準」は、この Mac で fw catalog がそのデバイスに示す最新の組み合わせで、Launchpad の New Machine が選ぶものです。その後、各マシンをヘッドレスで 2 回起動し、vphoned が応答すること、device.info がリリースを報告すること、ゲストのシリアルログにパニックがないことを確認しました。
tvOS 27.0(24J361)と HomePod ソフトウェア 27.2(24K120)の OTA はペイロードを LZRAVEN で圧縮しており、これを展開できるのは macOS 27 だけです。古い Mac では fw catalog がこれらを除外するため、それらのデバイスでの Launchpad の標準は tvOS 26.6 と HomePod ソフトウェア 27.0 になり、これらのバージョンを指定すると何もダウンロードされないうちに拒否されます。
Apple TV 4K(第 4 世代)、AppleTV18,1 / J265AP は、立ち上げ作業用としてのみ、tvOS 27.2 ベータ(24K120)で利用できます。Apple TV HD 26.6 の復元ベースと cloudOS 26.4 ベータ(23E5207q)の上に、そのフル OTA を重ねて使います。macOS 27 と tvos-4k プリセットが必要です。2026-10-24 に 1 台のマシンを復元してカスタムファームウェアをインストールし、2 回コールドブートして、vphoned と旧 TVSetup の 4K 言語選択画面まで到達しました。セットアップ自体は完了していません。上のテスト済みの表には含まれていません。立ち上げの記録をご覧ください。
cloudOS 26.7(23H20)には組み合わせられる iPhone のリリースがありません。iOS 26.6.2 のユーザランドで準備すると、ミックスはリンクでき 28 個の kernelcache パッチも適用されますが、CFW パッチ _vm_fault_enter_prepare がそのカーネルで適用箇所を見つけられません。起動はしていません。
vphone-escalator は許可リストを amfid のメモリに保持するため、amfid が再起動すると許可リストは失われます。これらのホストでも、実行中に一度そうなりました。Launchpad は、AMFI がバンドルを拒否すると再び許可します。CLI からの場合は、host preflight が表示する vphone-escalator allow コマンドをもう一度実行してください。
その他の iPhone モデル
iPhone17,3 以外のモデルについてはその他の iPhone モデルをご覧ください。
iOS 27 の iPhone18,1 と iPhone18,2
これらには kernel-boot-shared_region_size パッチが必要です(issue #596、27.0 と 27.0.1)。2026-10-06 以降、iOS 27 ベースでは standard プリセットでオンになっています。
27.0.1 のこれらの dyld 共有キャッシュは sharedRegionSize が 0x185804000 で、cloudOS 26.4 のゲストカーネルの共有領域 0x180000000 より大きいため、dyld-boot-maxslide でスライドをなくしてもキャッシュをマップできません。パッチがないと、launchd が初回起動時に Library not loaded: /usr/lib/libSystem.B.dylib でパニックします。iPhone17,3 の 27.0.1 のキャッシュ(0x17D508000)はまだ収まります。
このパッチは arm64 の領域を 0x1C0000000 に広げます。これは 26.4 カーネル自身のタスクマップの上限を超えない最大のサイズです。マシンのカーネルにこのパッチが含まれている場合(PatchReceipt.plist に記録されています)、cfw install は広げた領域を基準にキャッシュを測るため、これらのデバイスはインストールして起動できます。これは上のとおり iPhone18,2 27.0.1 で検証済みです。
パッチがない場合(古いバンドル、またはパッチのチェックを外した場合)、cfw install はパニックするゲストを残す代わりに、この説明を付けてそのようなキャッシュを拒否します。iOS 27 には iPhone17,3 を使うか、これらのデバイスでは iOS 26 を使ってください。
iPadOS
iPad ゲストについては iPadOS ゲストをご覧ください。
以前に報告された組み合わせ
以前の README には、次のホストとファームウェアの組み合わせが記録されていました。これらは現在の単一モードの手順より前のものか、同等の vphoned による受け入れの証拠がないため、現在のサポート表ではなく研究の経緯として扱ってください。
すべてのパッチとその適用先の一覧は、パッチ一覧をご覧ください。