ゲスト システム(VM イメージ)の要件

このページの要件は、ゲスト システムに適用されます。

メモリ

システムの最小メモリ要件は次のとおりです。

  • 最小限のサービス バンドルを備えたシステムの場合は 1 GB のメモリ
  • VM あたり 2 GB のメモリ(推奨)

CPU

CPU には次の要件があります。

  • 仮想化拡張機能を備えた x86_64 または arm64-v8a 以上をサポート
  • 2.3 DMIPS/MHz 以上、7 DMIPS/MHz を推奨

カーネル

カーネルには次の要件があります。

  • システムは GKI カーネルを使用しなければなりません。
  • SDV は GKI バージョン 6.6 と 6.12 をサポートしています。

ストレージ

このシステムには次のストレージ要件があります。

  • システムは、少なくとも 3 GB のファイル ストレージ容量を提供しなければなりません。
  • デバイスはアプリのプライベート データを暗号化しなければなりません。
    • データ ストレージの暗号化はデフォルトで有効でなければなりません。
    • デバイスは、次のいずれかの暗号化方法でこのデータ ストレージ暗号化の要件を満たさなければなりません。
      • ファイルベースの暗号化(FBE)(FBE ドキュメント)とメタデータ暗号化
      • ユーザーごとのブロックレベルの暗号化
  • デバイスは、少なくとも Android 14 セキュリティ モデルの互換性 - 9.12 データ削除をサポートしなければなりません。

電源管理

このシステムには、次の電源管理要件があります。

  • Suspend-to-RAM と Suspend-to-Disk のシステム サポートが強く推奨されます。
  • システムは、ホスト システムからのウェイクアップ信号に反応しなければなりません。

セキュリティ

このシステムには次のセキュリティ要件があります。

バイナリ インターフェース

システムには、以下のバイナリ インターフェース要件があります。システムは、

  • 1 つ以上の定義済み Android NDK ABI と互換性がある。
  • 次の ABI のサブセットをレポートしなければならず、リストにない ABI はレポートしてはなりません。
  • ネイティブ API を提供する次のライブラリを、組み込みコードを含むアプリで利用できるようにしなければなりません。
    • libc(C ライブラリ)
    • libdl(ダイナミック リンカー)
    • libicui18n.so
    • libicuuc.so
    • liblog(Android ロギング)
    • libm(math ライブラリ)
    • libstdc++(C++ の最小限のサポート)
    • libz(Zlib 圧縮)

ネットワーキング

システム:

  • TCP と UDP をサポートするために、イーサネットを使用しなければなりません。
  • vsock ゲストからホストへの通信をサポートしなければなりません。
  • vsock ゲスト間の通信をサポートすべきです。

UID とプロセス分離

デバイス実装は、次の対象をサポートしなければなりません。

  • Android アプリ サンドボックス モデル(各アプリが個別のプロセスで一意の Unix 形式の UID として動作するモデル)。それぞれの Android CDD をご覧ください。
  • セキュリティと権限に関するリファレンスで規定されているように、アプリが適切に署名されて構築されている場合は、同じ Linux ユーザー ID での複数アプリの実行。それぞれの Android CDD を参照してください。
  • セキュリティと権限に関するリファレンスで規定されている Android ファイル アクセス権限モデル。それぞれの Android CDD をご覧ください。

アップデート可能なソフトウェア

ホストシステム(ハイパーバイザ)

次のセクションの要件は、ホストシステムとハイパーバイザ環境に適用されます。

接続

ホストシステムには次の接続要件があります。

  • デバイスは、少なくとも 1 つのイーサネット接続をサポートしなければなりません。
  • システムは、ゲストに仮想イーサネット デバイスを提供するか、既存のデバイスをそれにマッピングしなければなりません。

仮想化

ホストシステムには次の仮想化要件があります。

  • 仮想デバイスの実装に VirtIO を使用することが強く推奨されます。システムは、次の VirtIO デバイスをサポートしなければなりません。
    • virtio-blk: 仮想ブロック デバイス(ストレージ)の場合
    • virtio-console: 仮想シリアル コンソールの場合
    • virtio-net: 仮想ネットワーク インターフェースの場合
    • virtio-pci: 仮想 PCI バス経由で virtio デバイスを検出する
    • virtio-rng: 仮想ハードウェア乱数生成ツールの場合
    • virtio-vsock: ホストとゲスト間の通信の場合
  • ゲストとホストは vsock と通信しなければなりません。
  • ホストは、vsock またはイーサネットを使用してゲスト間の通信を有効にしなければなりません。

時刻の同期

ホスト システムには、次の時刻同期要件があります。

  • ホストシステムは、すべてのゲスト VM に安定した一貫性のあるタイムソースを提供し、VM 間の整合性を確保する必要があります。これにより、デバッグとトレーサビリティが向上します。
  • ホストの時刻をゲストに公開するには、virtio-rtc を使用することをおすすめします。

アップデート可能なソフトウェア

  • ホスト システムは無線(OTA)でアップデート可能でなければなりません。アップデート メカニズムは電源喪失に対して復元力を持っていなければなりません。

セキュリティ

ホスト システムには次のセキュリティ要件があります。

  • ホスト システムは、DICE 向け Android プロファイルの拡張である DICE 向け SDV プロファイルを使用して、OpenDICE チェーンをサポートしなければなりません。
  • ホストシステムは、異なるゲスト間で KeyMint キーの安全な分離を提供しなければなりません。

パワーモード

ホスト システムには、次の電源モードの要件があります。

  • システムは Suspend-to-RAM をサポートする必要があります。
  • ホスト システムは、スリープ(RAM またはディスク)からの復帰を開始しなければなりません。

起動とシャットダウン

ホストシステムには、次の起動とシャットダウンの要件があります。

  • ホスト システムは、自動車のユーザビリティ要件(リアビュー カメラの利用可能性など)を満たすために、起動時間が短くなるように設計する必要があります。つまり、ホスト システムの起動に 100 ミリ秒以下を要します。
  • ホストは、ignition-off イベントでゲスト VM のクリーン シャットダウンを有効にしなければなりません。

CPU

デバイスは 64 ビット ABI を宣言しなければなりません。

デバイスは仮想化拡張機能をサポートしなければなりません。