Platform Referensi

Melalui produk baru bernama trout , Android Automotive (AAOS) kini menyediakan dukungan untuk penerapan sebagai mesin virtual tamu (VM) di lingkungan yang kompatibel dengan standar VirtIO . trout didasarkan pada platform referensi virtual Cuttlefish dan tersedia sebagai konfigurasi perangkat trout . Kode sumber ruang pengguna dapat ditemukan di device/google/trout . Tabel di bawah menjelaskan teknologi yang digunakan untuk memvirtualisasikan setiap subsistem dalam trout .

Fitur Teknologi
Kontrol Audio HAL vsock/gRPC
Audio HAL virtio-snd
Bluetooth virtio-console
Tempat sampah HAL vsock/gRPC
Sistem Tampilan Diperluas (EVS) virtio-video
Modus garasi vsock/gRPC
grafis virtio-gpu
Sistem satelit navigasi global (GNSS) virtio-console
Sensor HAL 2.0 virtio-scmi and IIO
Masukan layar sentuh virtio-input
Kendaraan HAL vsock/gRPC

Memperpanjang ikan trout

trout dapat digunakan sebagai titik awal untuk membuat target Android In-Vehicle Infotainment (IVI) baru. Membangun infrastruktur dirancang untuk diperpanjang dan disesuaikan. Sebagai contoh:

# Inherit trout-arm64 default values and settings
$(call inherit-product, device/google/trout/aosp_trout_arm64.mk)

# Customize HALs as needed
LOCAL_VHAL_PRODUCT_PACKAGE := vendor.oem.vhal@2.0-service
LOCAL_AUDIO_PRODUCT_PACKAGE := vendor.oem.audio@6.0-impl

# Configure SELinux policy
BOARD_SEPOLICY_DIRS += device/oem/car/sepolicy/vendor/oem

# Configure properties
LOCAL_DUMPSTATE_PROPERTIES := \
    ro.vendor.dumpstate.server.cid=22 \
    ro.vendor.dumpstate.server.port=406 \
    ro.vendor.helpersystem.log_loc=/data/dumpstate

[... and more as needed ...]

Beberapa HAL Android dapat diganti secara individual dengan implementasi kustom, atau implementasi default dipertahankan tetapi parameter konfigurasi tertentu disesuaikan untuk membangun komunikasi antar-VM yang tepat di lingkungan target. HAL ini (termasuk Vehicle HAL, Audio Control HAL, dan Dumpstate HAL) diimplementasikan melalui antarmuka gRPC yang didukung oleh koneksi vsock antara tamu AAOS dan sistem host yang menyediakan implementasi fitur yang mendasarinya. Ini harus dikonfigurasi dengan cara menyediakan parameter koneksi vsock yang tepat sebagai properti vendor.

Membangun ikan trout

Kompilasi ruang pengguna

Untuk mengkompilasi ruang pengguna:

  1. Unduh pohon sumber Android:
    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Bangun lingkungan:
    source build/envsetup.sh
    lunch aosp_trout_arm64-userdebug
    make -j24
    

Membangun kernel

Untuk trout 1.0, basis kode kernel disediakan di AOSP. Kernel trout terdiri dari kode yang sama dengan upstream ACK 5.10, dengan tambahan modul khusus trout untuk subsistem VirtIO.

  1. Untuk mengkloning kernel, jalankan:
    repo init https://android.googlesource.com/kernel/manifest -b trout-android12-5.10 && repo sync
    
  2. Untuk membangun kernel untuk lingkungan OpenSynergy, jalankan:
    BUILD_CONFIG=common-modules/virtual-device/build.config.trout.coqos build/build.sh
    

Kepatuhan

Saat AAOS berjalan sebagai VM tamu, tujuan kami adalah menjadi penerapan Android yang kompatibel dari perspektif kerangka kerja. Masalah sisi tuan rumah adalah lingkup setiap implementasi dan di luar cakupan trout 1.0.

Di trout 1.0, beberapa masalah CTS tetap ada. Modul CTS berikut diketahui menyertakan kegagalan pengujian:

CtsStagedInstallHostTestCases
CtsRollbackManagerHostTestCases
CtsVideoTestKasus
CtsHostsideNetworkTests
CtsActivityManagerBackgroundActivityTestCases
CtsAdbHostTestCases
CtsNativeHardwareTestCases
CtsContentTestCases
CtsCarHostTestCases
CtsOsTestCases
CtsStatsdHostTestCases
CtsVoiceInteractionTestCases
CtsViewTestCases
CtsCameraTestCases
CtsLocationGnssTestCases
CtsGraphicsTestCases
CtsIncidentHostTestCases
CtsInstallHostTestCases
CtsNativeVerifiedBootTestCases
CtsNetTestCases
CtsWindowManagerDeviceTestCases
CtsMediaStressTestCases
CtsAppTestCases
CtsUsbTests
CtsAutoFillServiceTestCases
CtsDisplayTestCases
CtsMediaTestCases
CtsDeqpTestCases
CtsDumpsysHostTestCases
CtsOpenGLTestCasesCtsLibcoreTestCases
CtsSecurityHostTestCases
CtsInputMethodTestCases
CtsStatsdAtomHostTestCases
CtsPermission4TestCases
CtsNNAPIBenchmarkTestCases
CtsSimpleperfTestCases
CtsAccessibilityTestCases
CtsAppSecurityHostTestCases
CtsKeystoreTestCases

Area CTS-V berikut diketahui termasuk kegagalan uji:

Tes Peluncur Mobil
Tes Pengiklan Bluetooth Low Energy (BLE)
Pemverifikasi Kualitas Video Streaming
Tes Perangkat Bluetooth HID
Tes Mikrofon Ultrasound Hifi
Tes Speaker Hifi Ultrasound
Tes Diperlukan Perangkat Tidak Terkunci
Tes Penemuan Sensor Dinamis
Tes Sensor Tubuh Mati
Tes Gerak Signifikan
Tes Pemberitahuan Perutean Output Audio
Tes Permintaan atau Saran Jaringan

Catatan rilis

trout 1.0 berisi masalah yang diketahui berikut ini:

  • Build pengguna trout tidak tersedia. Sistem dibangun sebagai -userdebug , yang dapat memengaruhi beberapa pengujian CTS.
  • Akses ke TrustZone untuk Android tidak didukung di trout 1.0.
  • Boot Terverifikasi Android (AVB) tidak didukung.
  • Akselerator saraf tidak diekspos ke NNAPI di trout 1.0.
  • Virtualisasi Wi-Fi tidak tersedia, dengan beberapa implementasi yang menawarkan dukungan terbatas untuk tunnel `virtio-net`.
  • Dalam beberapa kasus, transfer file besar dari atau ke Android melalui Android Debug Bridge (ADB) dapat menyebabkan sistem macet.
  • Dalam beberapa kasus, aplikasi SMS mungkin berhenti menyinkronkan dengan ponsel Bluetooth yang dipasangkan.
  • Injeksi peristiwa VHAL mungkin tidak berfungsi untuk beberapa sensor.
  • Serial ADB dari SoC yang mendasarinya tidak diteruskan ke Android sebagai serial ADB tamu.
  • Dalam beberapa implementasi, Ethernet mungkin tidak tersedia untuk host untuk konektivitas jaringan.

Untuk detail tambahan, lihat catatan rilis mitra untuk penerapan khusus trout Anda.

,

Melalui produk baru bernama trout , Android Automotive (AAOS) kini menyediakan dukungan untuk penerapan sebagai mesin virtual tamu (VM) di lingkungan yang kompatibel dengan standar VirtIO . trout didasarkan pada platform referensi virtual Cuttlefish dan tersedia sebagai konfigurasi perangkat trout . Kode sumber ruang pengguna dapat ditemukan di device/google/trout . Tabel di bawah menjelaskan teknologi yang digunakan untuk memvirtualisasikan setiap subsistem dalam trout .

Fitur Teknologi
Kontrol Audio HAL vsock/gRPC
Audio HAL virtio-snd
Bluetooth virtio-console
Tempat sampah HAL vsock/gRPC
Sistem Tampilan Diperluas (EVS) virtio-video
Modus garasi vsock/gRPC
grafis virtio-gpu
Sistem satelit navigasi global (GNSS) virtio-console
Sensor HAL 2.0 virtio-scmi and IIO
Masukan layar sentuh virtio-input
Kendaraan HAL vsock/gRPC

Memperpanjang ikan trout

trout dapat digunakan sebagai titik awal untuk membuat target Android In-Vehicle Infotainment (IVI) baru. Membangun infrastruktur dirancang untuk diperpanjang dan disesuaikan. Sebagai contoh:

# Inherit trout-arm64 default values and settings
$(call inherit-product, device/google/trout/aosp_trout_arm64.mk)

# Customize HALs as needed
LOCAL_VHAL_PRODUCT_PACKAGE := vendor.oem.vhal@2.0-service
LOCAL_AUDIO_PRODUCT_PACKAGE := vendor.oem.audio@6.0-impl

# Configure SELinux policy
BOARD_SEPOLICY_DIRS += device/oem/car/sepolicy/vendor/oem

# Configure properties
LOCAL_DUMPSTATE_PROPERTIES := \
    ro.vendor.dumpstate.server.cid=22 \
    ro.vendor.dumpstate.server.port=406 \
    ro.vendor.helpersystem.log_loc=/data/dumpstate

[... and more as needed ...]

Beberapa HAL Android dapat diganti secara individual dengan implementasi kustom, atau implementasi default dipertahankan tetapi parameter konfigurasi tertentu disesuaikan untuk membangun komunikasi antar-VM yang tepat di lingkungan target. HAL ini (termasuk Vehicle HAL, Audio Control HAL, dan Dumpstate HAL) diimplementasikan melalui antarmuka gRPC yang didukung oleh koneksi vsock antara tamu AAOS dan sistem host yang menyediakan implementasi fitur yang mendasarinya. Ini harus dikonfigurasi dengan cara menyediakan parameter koneksi vsock yang tepat sebagai properti vendor.

Membangun ikan trout

Kompilasi ruang pengguna

Untuk mengkompilasi ruang pengguna:

  1. Unduh pohon sumber Android:
    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Bangun lingkungan:
    source build/envsetup.sh
    lunch aosp_trout_arm64-userdebug
    make -j24
    

Membangun kernel

Untuk trout 1.0, basis kode kernel disediakan di AOSP. Kernel trout terdiri dari kode yang sama dengan upstream ACK 5.10, dengan tambahan modul khusus trout untuk subsistem VirtIO.

  1. Untuk mengkloning kernel, jalankan:
    repo init https://android.googlesource.com/kernel/manifest -b trout-android12-5.10 && repo sync
    
  2. Untuk membangun kernel untuk lingkungan OpenSynergy, jalankan:
    BUILD_CONFIG=common-modules/virtual-device/build.config.trout.coqos build/build.sh
    

Kepatuhan

Saat AAOS berjalan sebagai VM tamu, tujuan kami adalah menjadi penerapan Android yang kompatibel dari perspektif kerangka kerja. Masalah sisi tuan rumah adalah lingkup setiap implementasi dan di luar cakupan trout 1.0.

Di trout 1.0, beberapa masalah CTS tetap ada. Modul CTS berikut diketahui menyertakan kegagalan pengujian:

CtsStagedInstallHostTestCases
CtsRollbackManagerHostTestCases
CtsVideoTestKasus
CtsHostsideNetworkTests
CtsActivityManagerBackgroundActivityTestCases
CtsAdbHostTestCases
CtsNativeHardwareTestCases
CtsContentTestCases
CtsCarHostTestCases
CtsOsTestCases
CtsStatsdHostTestCases
CtsVoiceInteractionTestCases
CtsViewTestCases
CtsCameraTestCases
CtsLocationGnssTestCases
CtsGraphicsTestCases
CtsIncidentHostTestCases
CtsInstallHostTestCases
CtsNativeVerifiedBootTestCases
CtsNetTestCases
CtsWindowManagerDeviceTestCases
CtsMediaStressTestCases
CtsAppTestCases
CtsUsbTests
CtsAutoFillServiceTestCases
CtsDisplayTestCases
CtsMediaTestCases
CtsDeqpTestCases
CtsDumpsysHostTestCases
CtsOpenGLTestCasesCtsLibcoreTestCases
CtsSecurityHostTestCases
CtsInputMethodTestCases
CtsStatsdAtomHostTestCases
CtsPermission4TestCases
CtsNNAPIBenchmarkTestCases
CtsSimpleperfTestCases
CtsAccessibilityTestCases
CtsAppSecurityHostTestCases
CtsKeystoreTestCases

Area CTS-V berikut diketahui termasuk kegagalan uji:

Tes Peluncur Mobil
Tes Pengiklan Bluetooth Low Energy (BLE)
Pemverifikasi Kualitas Video Streaming
Tes Perangkat HID Bluetooth
Tes Mikrofon Ultrasound Hifi
Tes Speaker Hifi Ultrasound
Tes Diperlukan Perangkat Tidak Terkunci
Tes Penemuan Sensor Dinamis
Tes Sensor Tubuh Mati
Tes Gerak Signifikan
Tes Pemberitahuan Perutean Output Audio
Tes Permintaan atau Saran Jaringan

Catatan rilis

trout 1.0 berisi masalah yang diketahui berikut ini:

  • Build pengguna trout tidak tersedia. Sistem dibangun sebagai -userdebug , yang dapat memengaruhi beberapa pengujian CTS.
  • Akses ke TrustZone untuk Android tidak didukung di trout 1.0.
  • Boot Terverifikasi Android (AVB) tidak didukung.
  • Akselerator saraf tidak diekspos ke NNAPI di trout 1.0.
  • Virtualisasi Wi-Fi tidak tersedia, dengan beberapa implementasi yang menawarkan dukungan terbatas untuk tunnel `virtio-net`.
  • Dalam beberapa kasus, transfer file besar dari atau ke Android melalui Android Debug Bridge (ADB) dapat menyebabkan sistem macet.
  • Dalam beberapa kasus, aplikasi SMS mungkin berhenti menyinkronkan dengan ponsel Bluetooth yang dipasangkan.
  • Injeksi peristiwa VHAL mungkin tidak berfungsi untuk beberapa sensor.
  • Serial ADB dari SoC yang mendasarinya tidak diteruskan ke Android sebagai serial ADB tamu.
  • Dalam beberapa implementasi, Ethernet mungkin tidak tersedia untuk host untuk konektivitas jaringan.

Untuk detail tambahan, lihat catatan rilis mitra untuk penerapan khusus trout Anda.