Guest system (VM image) requirements

The requirements on this page apply to the guest system.

Memory

The system has the following minimum memory requirements:

  • 1 GB of memory for a system with minimal service bundles
  • 2 GB of memory per VM (recommended)

CPU

The CPU has the following requirements:

  • Support for x86_64 or arm64-v8a or higher with virtualization extensions
  • A minimum of 2.3 DMIPS/MHz, with 7 DMIPS/MHz recommended

Kernel

The kernel has the following requirements:

  • System MUST use a GKI kernel.
  • SDV supports GKI versions 6.6 and 6.12.

Storage

The system has the following storage requirements:

  • System MUST provide at least 3 GB of file storage capacity.
  • Device MUST encrypt app private data:
    • Data storage encryption MUST be enabled by default.
    • Device MUST implement this data storage encryption requirement with one of the following encryption methods:
      • File-based encryption (FBE) (FBE Docs) and metadata encryption
      • Per-user block-level encryption
  • Device MUST support at least Android 14 Security Model Compatibility - 9.12 Data Deletion.

Power management

The system has the following power management requirements:

  • System support for suspend-to-RAM and suspend-to-disk is STRONGLY RECOMMENDED.
  • System MUST react to wake signals from the host system.

Security

The system has the following security requirements:

Binary interface

The system has the following binary interface requirements. The system MUST:

  • Be compatible with one or more defined Android NDK ABIs.
  • Report a subset of the following ABIs and MUST not report any ABI not on the list.
  • Make the following libraries, providing native APIs, available to apps that include built-in code:
    • libc (C library)
    • libdl (dynamic linker)
    • libicui18n.so
    • libicuuc.so
    • liblog (Android logging)
    • libm (math library)
    • libstdc++ (minimal support for C++)
    • libz (Zlib compression)

Networking

The system:

  • MUST use Ethernet to support TCP and UDP.
  • MUST support vsock guest-to-host communication.
  • SHOULD support vsock guest-to-guest communication.

UID and process isolation

Device implementations MUST support the:

  • Android app sandbox model, in which each app runs as a unique Unix-style UID and in a separate process. See the respective Android CDD.
  • Running of multiple apps as the same Linux user ID, provided that the apps are properly signed and constructed, as defined in the Security and Permissions reference. See the respective Android CDD.
  • Android file access permissions model as defined in the Security and Permissions reference. See the respective Android CDD.

Updatable software

Host system (hypervisor)

The requirements in the following sections apply to the host system and the hypervisor environment.

Connectivity

The host system has the following connectivity requirements:

  • The device MUST support at least one Ethernet connection.
  • The system MUST provide a virtual Ethernet device to the guest, or map an existing device to it.

Virtualization

The host system has the following virtualization requirements:

  • Use of VirtIO to implement virtual devices is STRONGLY RECOMMENDED. The system MUST support these VirtIO devices:
    • virtio-blk: For virtual block devices (storage)
    • virtio-console: For virtual serial console
    • virtio-net: For virtual network interfaces
    • virtio-pci: For discovering virtio devices over a virtual PCI bus
    • virtio-rng: For a virtual hardware random number generator
    • virtio-vsock: For host-to-guest communication
  • The Guest and host MUST communicate with vsock.
  • The Host MUST enable guest-to-guest communication using vsock or Ethernet.

Time synchronization

The host system has the following time synchronization requirements:

  • Host system should provide a stable and consistent time source to all guest VMs to provide consistency between VMs, which aids in debugging and traceability.
  • To expose time on the host to guests, we recommend using virtio-rtc.

Updatable software

  • Host system MUST be updatable over-the-air (OTA). The update mechanism MUST be resilient against power loss.

Security

The host system has the following security requirements:

  • Host system MUST support the OpenDICE chain, using the SDV Profile for DICE, which is an extension to the Android Profile for DICE.
  • Host system MUST provide secure isolation of the KeyMint keys between different guests.

Power modes

The host system has the following power mode requirements:

  • The system should support suspend-to-RAM.
  • Host system MUST initiate wake from sleep (RAM or disk).

Boot and shutdown

The host system has the following boot and shutdown requirements:

  • Host system should be designed for fast boot times to meet automotive usability requirements (for example, rear-view camera availability); this means 100 ms or less for the host system to start.
  • Host MUST enable a clean shutdown of guest VMs upon ignition-off events.

CPU

The device MUST declare 64-bit ABI:

The device MUST support virtualization extensions.