Requisiti del sistema guest (immagine VM)

I requisiti indicati in questa pagina si applicano al sistema guest.

Memoria

Il sistema ha i seguenti requisiti minimi di memoria:

  • 1 GB di memoria per un sistema con bundle di servizi minimi
  • 2 GB di memoria per VM (consigliato)

CPU

La CPU deve soddisfare i seguenti requisiti:

  • Supporto per x86_64 o arm64-v8a o versioni successive con estensioni di virtualizzazione
  • Minimo 2,3 DMIPS/MHz, consigliati 7 DMIPS/MHz

Kernel

Il kernel presenta i seguenti requisiti:

  • Il sistema DEVE utilizzare un kernel GKI.
  • SDV supporta le versioni 6.6 e 6.12 di GKI.

Archiviazione

Il sistema ha i seguenti requisiti di archiviazione:

  • Il sistema DEVE fornire almeno 3 GB di capacità di archiviazione dei file.
  • Il dispositivo DEVE criptare i dati privati dell'app:
    • La crittografia dell'archiviazione dei dati DEVE essere attivata per impostazione predefinita.
    • Il dispositivo DEVE implementare questo requisito di crittografia dell'archiviazione dei dati con uno dei seguenti metodi di crittografia:
      • Crittografia basata su file (FBE) (documenti FBE) e crittografia dei metadati
      • Crittografia a livello di blocco per utente
  • Il dispositivo DEVE supportare almeno Compatibilità del modello di sicurezza di Android 14 - Eliminazione dei dati 9.12.

Gestione alimentazione

Il sistema presenta i seguenti requisiti di gestione dell'alimentazione:

  • È VIVAMENTE CONSIGLIATO il supporto del sistema per la sospensione alla RAM e la sospensione al disco.
  • Il sistema DEVE reagire ai segnali di riattivazione del sistema host.

Sicurezza

Il sistema presenta i seguenti requisiti di sicurezza:

Interfaccia binaria

Il sistema presenta i seguenti requisiti di interfaccia binaria. Il sistema DEVE:

  • Essere compatibile con una o più ABI Android NDK definite.
  • Segnala un sottoinsieme delle seguenti ABI e NON segnalare alcuna ABI non presente nell'elenco.
  • Rendi disponibili le seguenti librerie, che forniscono API native, alle app che includono codice integrato:
    • libc (libreria C)
    • libdl (linker dinamico)
    • libicui18n.so
    • libicuuc.so
    • liblog (registrazione Android)
    • libm (libreria matematica)
    • libstdc++ (supporto minimo per C++)
    • libz (compressione Zlib)

Networking

Il sistema:

  • DEVE utilizzare Ethernet per supportare TCP e UDP.
  • DEVE supportare la comunicazione tra ospite e host vsock.
  • DEVE supportare la comunicazione ospite-ospite vsock.

Isolamento di UID e processi

Le implementazioni dei dispositivi DEVONO supportare:

  • Modello di sandbox delle app per Android, in cui ogni app viene eseguita come UID unico in stile Unix e in un processo separato. Consulta il CDD di Android pertinente.
  • Esecuzione di più app con lo stesso ID utente Linux, a condizione che le app siano firmate e create correttamente, come definito nel riferimento Sicurezza e autorizzazioni. Consulta il CDD di Android pertinente.
  • Modello di autorizzazioni di accesso ai file Android come definito nel riferimento a sicurezza e autorizzazioni. Consulta il CDD di Android corrispondente.

Software aggiornabile

Sistema host (hypervisor)

I requisiti nelle sezioni seguenti si applicano al sistema host e all'ambiente hypervisor.

Connettività

Il sistema host ha i seguenti requisiti di connettività:

  • Il dispositivo DEVE supportare almeno una connessione Ethernet.
  • Il sistema DEVE fornire un dispositivo Ethernet virtuale all'ospite o mappare un dispositivo esistente.

Virtualizzazione

Il sistema host presenta i seguenti requisiti di virtualizzazione:

  • L'utilizzo di VirtIO per implementare dispositivi virtuali è VIVAMENTE CONSIGLIATO. Il sistema DEVE supportare i seguenti dispositivi VirtIO:
    • virtio-blk: Per i dispositivi a blocchi virtuali (archiviazione)
    • virtio-console: Per la console seriale virtuale
    • virtio-net: Per le interfacce di rete virtuali
    • virtio-pci: Per rilevare i dispositivi virtio su un bus PCI virtuale
    • virtio-rng: Per un generatore di numeri casuali hardware virtuale
    • virtio-vsock: Per la comunicazione tra host e ospite
  • L'ospite e l'organizzatore DEVONO comunicare con vsock.
  • L'organizzatore DEVE attivare la comunicazione tra ospiti utilizzando vsock o Ethernet.

Sincronizzazione dell'ora

Il sistema host ha i seguenti requisiti di sincronizzazione dell'ora:

  • Il sistema host deve fornire un'origine temporale stabile e coerente a tutte le VM guest per garantire la coerenza tra le VM, il che facilita il debug e la tracciabilità.
  • Per mostrare l'ora dell'host agli ospiti, ti consigliamo di utilizzare virtio-rtc.

Software aggiornabile

  • Il sistema host DEVE essere aggiornabile via OTA (over-the-air). Il meccanismo di aggiornamento DEVE essere resiliente alla perdita di alimentazione.

Sicurezza

Il sistema host presenta i seguenti requisiti di sicurezza:

  • Il sistema host DEVE supportare la catena OpenDICE, utilizzando il profilo SDV per DICE, che è un'estensione del profilo Android per DICE.
  • Il sistema host DEVE fornire un isolamento sicuro delle chiavi KeyMint tra diversi ospiti.

Modalità di alimentazione

Il sistema host presenta i seguenti requisiti per la modalità di alimentazione:

  • Il sistema deve supportare la sospensione alla RAM.
  • Il sistema host DEVE attivare l'uscita dalla modalità sospensione (RAM o disco).

Avvio e spegnimento

Il sistema host presenta i seguenti requisiti di avvio e spegnimento:

  • Il sistema host deve essere progettato per tempi di avvio rapidi per soddisfare i requisiti di usabilità automobilistica (ad esempio, disponibilità della telecamera posteriore); ciò significa 100 ms o meno per l'avvio del sistema host.
  • L'host DEVE abilitare un arresto normale delle VM guest in caso di eventi di spegnimento.

CPU

Il dispositivo DEVE dichiarare l'ABI a 64 bit:

Il dispositivo DEVE supportare le estensioni di virtualizzazione.