Anforderungen an das Gastsystem (VM-Image)

Die Anforderungen auf dieser Seite gelten für das Gastsystem.

Arbeitsspeicher

Das System hat die folgenden Mindestanforderungen an den Arbeitsspeicher:

  • 1 GB Arbeitsspeicher für ein System mit minimalen Servicepaketen
  • 2 GB Arbeitsspeicher pro VM (empfohlen)

CPU

Für die CPU gelten die folgenden Anforderungen:

  • Unterstützung für x86_64 oder arm64-v8a oder höher mit Virtualisierungserweiterungen
  • Mindestens 2,3 DMIPS/MHz, empfohlen werden 7 DMIPS/MHz

Kernel

Für den Kernel gelten die folgenden Anforderungen:

  • Das System MUSS einen GKI-Kernel verwenden.
  • SDV unterstützt die GKI-Versionen 6.6 und 6.12.

Speicher

Für den Speicher gelten die folgenden Anforderungen:

  • Das System MUSS mindestens 3 GB Dateispeicherkapazität bieten.
  • Das Gerät MUSS private App-Daten verschlüsseln:
    • Die Verschlüsselung des Datenspeichers MUSS standardmäßig aktiviert sein.
    • Das Gerät MUSS diese Anforderung zur Verschlüsselung des Datenspeichers mit einer der folgenden Verschlüsselungsmethoden erfüllen:
      • Dateibasierte Verschlüsselung (File-Based Encryption, FBE) (FBE-Dokumentation) und Metadatenverschlüsselung
      • Blockverschlüsselung pro Nutzer
  • Das Gerät MUSS mindestens die Kompatibilität des Android 14-Sicherheitsmodells – 9.12 Datenlöschung unterstützen.

Energiespareinstellungen

Für die Energiespareinstellungen gelten die folgenden Anforderungen:

  • Die Unterstützung von „Suspend-to-RAM“ und „Suspend-to-Disk“ wird DRINGEND EMPFOHLEN.
  • Das System MUSS auf Aktivierungssignale vom Hostsystem reagieren.

Sicherheit

Für die Sicherheit gelten die folgenden Anforderungen:

Binärschnittstelle

Für die Binärschnittstelle gelten die folgenden Anforderungen. Das System MUSS:

  • Mit einer oder mehreren definierten Android NDK ABIs kompatibel sein.
  • Eine Teilmenge der folgenden ABIs melden und darf keine ABI melden, die nicht in der Liste enthalten ist.
  • Die folgenden Bibliotheken, die native APIs bereitstellen, für Apps verfügbar machen, die integrierten Code enthalten:
    • libc (C-Bibliothek)
    • libdl (dynamischer Linker)
    • libicui18n.so
    • libicuuc.so
    • liblog (Android-Protokollierung)
    • libm (Mathematikbibliothek)
    • libstdc++ (minimale Unterstützung für C++)
    • libz (Zlib-Komprimierung)

Netzwerk

Das System:

  • MUSS Ethernet verwenden, um TCP und UDP zu unterstützen.
  • MUSS die vsock-Kommunikation zwischen Gast und Host unterstützen.
  • SOLLTE die vsock-Kommunikation zwischen Gastsystemen unterstützen.

UID und Prozessisolation

Geräteimplementierungen MÜSSEN Folgendes unterstützen:

  • Das Android-App-Sandbox-Modell, bei dem jede App als eindeutige UID im Unix-Stil und in einem separaten Prozess ausgeführt wird. Weitere Informationen finden Sie im entsprechenden Android-CDD.
  • Die Ausführung mehrerer Apps als dieselbe Linux-Nutzer-ID, sofern die Apps ordnungsgemäß signiert und erstellt wurden, wie in der Referenz zu Sicherheit und Berechtigungen definiert. Weitere Informationen finden Sie im entsprechenden Android-CDD.
  • Das Android-Berechtigungsmodell für Dateizugriff, wie in der Referenz zu Sicherheit und Berechtigungen definiert. Weitere Informationen finden Sie im entsprechenden Android-CDD.

Aktualisierbare Software

Hostsystem (Hypervisor)

Die Anforderungen in den folgenden Abschnitten gelten für das Hostsystem und die Hypervisor-Umgebung.

Konnektivität

Für die Konnektivität des Hostsystems gelten die folgenden Anforderungen:

  • Das Gerät MUSS mindestens eine Ethernet-Verbindung unterstützen.
  • Das System MUSS dem Gast ein virtuelles Ethernet-Gerät zur Verfügung stellen oder ein vorhandenes Gerät zuordnen.

Virtualisierung

Für die Virtualisierung des Hostsystems gelten die folgenden Anforderungen:

  • Die Verwendung von VirtIO zur Implementierung virtueller Geräte wird DRINGEND EMPFOHLEN. Das System MUSS die folgenden VirtIO-Geräte unterstützen:
    • virtio-blk: für virtuelle Blockgeräte (Speicher)
    • virtio-console: für virtuelle serielle Konsole
    • virtio-net: für virtuelle Netzwerkschnittstellen
    • virtio-pci: zum Erkennen von VirtIO-Geräten über einen virtuellen PCI-Bus
    • virtio-rng: für einen virtuellen Hardware-Zufallszahlengenerator
    • virtio-vsock: für die Kommunikation zwischen Host und Gast
  • Gast und Host MÜSSEN mit vsock kommunizieren.
  • Der Host MUSS die Kommunikation zwischen Gastsystemen über vsock oder Ethernet ermöglichen.

Zeitsynchronisierung

Für die Zeitsynchronisierung des Hostsystems gelten die folgenden Anforderungen:

  • Das Hostsystem sollte allen Gast-VMs eine stabile und konsistente Zeitquelle zur Verfügung stellen, um die Konsistenz zwischen den VMs zu gewährleisten. Das erleichtert das Debugging und die Rückverfolgbarkeit.
  • Um die Zeit auf dem Host für Gäste verfügbar zu machen, empfehlen wir die Verwendung von virtio-rtc.

Aktualisierbare Software

  • Das Hostsystem MUSS Over-the-Air (OTA) aktualisiert werden können. Der Aktualisierungsmechanismus MUSS gegen Stromausfälle geschützt sein.

Sicherheit

Für die Sicherheit des Hostsystems gelten die folgenden Anforderungen:

  • Das Hostsystem MUSS die OpenDICE-Kette unterstützen und dabei das SDV-Profil für DICE verwenden, eine Erweiterung des Android-Profils für DICE.
  • Das Hostsystem MUSS eine sichere Isolation der KeyMint-Schlüssel zwischen verschiedenen Gästen ermöglichen.

Energiemodi

Für die Energiemodi des Hostsystems gelten die folgenden Anforderungen:

  • Das System sollte „Suspend-to-RAM“ unterstützen.
  • Das Hostsystem MUSS das Aufwachen aus dem Ruhemodus (RAM oder Festplatte) initiieren.

Starten und Herunterfahren

Für das Starten und Herunterfahren des Hostsystems gelten die folgenden Anforderungen:

  • Das Hostsystem sollte für schnelle Startzeiten konzipiert sein, um die Anforderungen an die Benutzerfreundlichkeit von Fahrzeugen zu erfüllen (z. B. Verfügbarkeit der Rückfahrkamera). Das bedeutet, dass das Hostsystem in 100 ms oder weniger starten muss.
  • Der Host MUSS ein ordnungsgemäßes Herunterfahren der Gast-VMs ermöglichen, wenn die Zündung ausgeschaltet wird.

CPU

Das Gerät MUSS die 64-Bit-ABI deklarieren:

Das Gerät MUSS Virtualisierungserweiterungen unterstützen.