Wymagania na tej stronie dotyczą systemu gościa.
Pamięć
System ma następujące minimalne wymagania dotyczące pamięci:
- 1 GB pamięci w przypadku systemu z minimalnymi pakietami usług
- 2 GB pamięci na maszynę wirtualną (zalecane)
CPU
Procesor musi spełniać te wymagania:
- Obsługa architektury x86_64 lub arm64-v8a lub nowszej z rozszerzeniami wirtualizacji
- Co najmniej 2,3 DMIPS/MHz, zalecane 7 DMIPS/MHz
Bąbelki
Jądro musi spełniać te wymagania:
- System MUSI korzystać z jądra GKI.
- SDV obsługuje GKI w wersjach 6.6 i 6.12.
Miejsce na dane
System ma te wymagania dotyczące pamięci:
- System MUSI zapewniać co najmniej 3 GB miejsca na dane.
- Urządzenie MUSI szyfrować prywatne dane aplikacji:
- Szyfrowanie pamięci masowej MUSI być domyślnie włączone.
- Urządzenie MUSI spełniać to wymaganie dotyczące szyfrowania pamięci danych za pomocą jednej z tych metod szyfrowania:
- Szyfrowanie oparte na plikach (FBE) (dokumentacja FBE) i szyfrowanie metadanych
- Szyfrowanie na poziomie bloków dla poszczególnych użytkowników
- Urządzenie MUSI obsługiwać co najmniej zgodność z modelem zabezpieczeń Androida 14 – 9.12 usuwanie danych.
Zarządzanie zasilaniem
System musi spełniać te wymagania dotyczące zarządzania energią:
- Obsługa przez system zawieszania do pamięci RAM i zawieszania na dysk jest ZDECYDOWANIE ZALECANA.
- System MUSI reagować na sygnały wybudzania z systemu hosta.
Bezpieczeństwo
System musi spełniać te wymagania dotyczące bezpieczeństwa:
- Zastosuj zgodność z modelem zabezpieczeń Androida 14 – 9.7 funkcje zabezpieczeń.
- System MUSI obsługiwać łańcuch OpenDICE z użyciem profilu SDV dla DICE, który jest rozszerzeniem profilu Androida dla DICE.
- System MUSI obsługiwać KeyMint w wersji 3 lub nowszej i
IRemotelyProvisionedComponentHAL w wersji 3. - Zdecydowanie zalecamy korzystanie z DICE Chain Design.
Interfejs binarny
System musi spełniać te wymagania dotyczące interfejsu binarnego:
- być zgodna z co najmniej jednym zdefiniowanym interfejsem ABI Android NDK,
- Zgłaszaj podzbiór tych interfejsów ABI i NIE ZGŁASZAJ żadnych interfejsów ABI, których nie ma na liście.
- Udostępnij aplikacjom, które zawierają wbudowany kod, te biblioteki z natywnymi interfejsami API:
libc(biblioteka C)libdl(dynamiczny linker)libicui18n.solibicuuc.soliblog(logowanie w Androidzie)libm(biblioteka matematyczna)libstdc++(minimalne wsparcie dla C++)libz(kompresja zlib)
Sieci
System:
- MUSI używać sieci Ethernet do obsługi protokołów TCP i UDP.
- MUSI obsługiwać komunikację
vsockgość–host. - POWINNA obsługiwać
vsockkomunikację między gośćmi.
UID i izolacja procesów
Implementacje urządzeń MUSZĄ obsługiwać:
- Model piaskownicy aplikacji na Androida, w którym każda aplikacja działa jako unikalny identyfikator UID w stylu systemu Unix i w osobnym procesie. Więcej informacji znajdziesz w odpowiednim dokumencie CDD Androida.
- Uruchamianie wielu aplikacji jako tego samego użytkownika systemu Linux, pod warunkiem że aplikacje są prawidłowo podpisane i zbudowane zgodnie z dokumentacją dotyczącą bezpieczeństwa i uprawnień. Zapoznaj się z odpowiednim dokumentem CDD Androida.
- Model uprawnień dostępu do plików na Androidzie zgodnie z definicją w dokumentacji dotyczącej bezpieczeństwa i uprawnień. Zapoznaj się z odpowiednim dokumentem CDD Androida.
Oprogramowanie, które można aktualizować
- Wprowadź w Androidzie 14 oprogramowanie z możliwością aktualizacji.
System hosta (hipernadzorca)
Wymagania w sekcjach poniżej dotyczą systemu hosta i środowiska hiperwizora.
Łączność
System hosta musi spełniać te wymagania dotyczące połączeń:
- Urządzenie MUSI obsługiwać co najmniej 1 połączenie Ethernet.
- System MUSI udostępnić gościowi wirtualne urządzenie Ethernet lub zmapować na nie istniejące urządzenie.
Wirtualizacja
System hosta musi spełniać te wymagania dotyczące wirtualizacji:
- Zdecydowanie zalecamy używanie VirtIO do implementowania urządzeń wirtualnych. System MUSI obsługiwać te urządzenia VirtIO:
virtio-blk: w przypadku wirtualnych urządzeń blokowych (pamięci masowej)virtio-console: w przypadku wirtualnej konsoli szeregowejvirtio-net: w przypadku wirtualnych interfejsów sieciowychvirtio-pci: do wykrywania urządzeń virtio w wirtualnej magistrali PCI.virtio-rng: w przypadku wirtualnego sprzętowego generatora liczb losowych.virtio-vsock: do komunikacji między gospodarzem a gościem
- Gość i gospodarz MUSZĄ komunikować się z
vsock. - Gospodarz MUSI włączyć komunikację między gośćmi za pomocą
vsocklub Ethernetu.
Synchronizacja czasu
System hosta musi spełniać te wymagania dotyczące synchronizacji czasu:
- System hosta powinien zapewniać stabilne i spójne źródło czasu dla wszystkich maszyn wirtualnych gościa, aby zapewnić spójność między maszynami wirtualnymi, co ułatwia debugowanie i śledzenie.
- Aby udostępnić gościom czas na hoście, zalecamy użycie
virtio-rtc.
Oprogramowanie, które można aktualizować
- System hosta MUSI być aktualizowany bezprzewodowo (OTA). Mechanizm aktualizacji MUSI być odporny na utratę zasilania.
Bezpieczeństwo
System hosta musi spełniać te wymagania dotyczące bezpieczeństwa:
- System hosta MUSI obsługiwać łańcuch OpenDICE, korzystając z profilu SDV dla DICE, który jest rozszerzeniem profilu Androida dla DICE.
- System hosta MUSI zapewniać bezpieczną izolację kluczy KeyMint między różnymi gośćmi.
Tryby zasilania
System hosta musi spełniać te wymagania dotyczące trybu zasilania:
- System powinien obsługiwać tryb wstrzymania do pamięci RAM.
- System hosta MUSI inicjować wybudzanie ze stanu uśpienia (pamięć RAM lub dysk).
Uruchamianie i wyłączanie
System hosta musi spełniać te wymagania dotyczące uruchamiania i zamykania:
- System hosta powinien być zaprojektowany tak, aby szybko się uruchamiał i spełniał wymagania dotyczące użyteczności w przypadku samochodów (np. dostępność kamery cofania). Oznacza to, że system hosta powinien uruchamiać się w czasie nie dłuższym niż 100 ms.
- Host MUSI włączać czyste zamykanie maszyn wirtualnych gościa po zdarzeniach wyłączenia zapłonu.
CPU
Urządzenie MUSI deklarować 64-bitowy interfejs ABI:
Urządzenie MUSI obsługiwać rozszerzenia wirtualizacji.