Referans platform

Android Automotive (AAOS), trout adlı yeni ürünle artık destek sağlıyor uyumlu ortamlarda konuk sanal makine (VM) olarak VirtIO standart. trout, Kesit balığı sanal referans platformu ve trout cihaz yapılandırması olarak kullanılabilir. İlgili içeriği oluşturmak için kullanılan kullanıcı alanı kaynak kodu device/google/trout adresinde bulunabilir. Tablo Aşağıda, trout ürünündeki alt sistemlerin her birini sanallaştırmak için kullanılan teknoloji açıklanmaktadır.

Özellik Teknoloji
Ses Kontrolü HAL'si vsock/gRPC
Ses HAL'si virtio-snd
Bluetooth virtio-console
HAL'yi iptal etme vsock/gRPC
Genişletilmiş Görünüm Sistemi (EVS) virtio-video
Garaj modu vsock/gRPC
Grafik virtio-gpu
Küresel navigasyon uydusu sistemi (GNSS) virtio-console
Sensör HAL 2.0 virtio-scmi and IIO
Dokunmatik ekran girişi virtio-input
Araç HAL'si vsock/gRPC

Alabalıkları uzatma

trout, yeni Araç İçi Bilgi-eğlence sistemi (IVI) oluşturmak için başlangıç noktası olarak kullanılabilir Android hedefleri. Derleme altyapısı, genişletilecek ve özelleştirilebilecek şekilde tasarlanmıştır. Örnek:

# 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 ...]

Çeşitli Android HAL'ler ayrı ayrı özel uygulamalarla değiştirilebilir veya varsayılan uygulamalar korunur ancak hedef ortamda doğru sanal makineler arası iletişim sağlanmalıdır. Bu HAL'ler (Araç HAL'si, Ses Kontrolü HAL ve Dumpstate HAL), AAOS misafiri ile şunu sağlayan ana makine sistemi arasında vsock bağlantısı: temel özellik uygulaması. Bunların yapılandırılması için bunların, uygun Tedarikçi firma özelliği olarak vsock bağlantı parametresi. Kaynak kod, aynı reklamın hangi özelliklerin yapılandırma için kullanılabildiğine ve anlamlarına ilişkin gerçek bilgileri.

Alabalık oluşturma

Kullanıcı alanını derleyin

Kullanıcı alanını derlemek için:

  1. Android kaynak ağacını indirin:
    repo init -u https://android.googlesource.com/platform/manifest -b main
    repo sync -j8
    
    .
  2. Ortamı oluşturun:
    source build/envsetup.sh
    lunch aosp_trout_arm64-userdebug
    make -j24
    
    .

Çekirdek oluşturma

trout 1.1 için çekirdek kod tabanı AOSP'de sağlanır. trout çekirdek, yukarı akış ACK 5.10 ile aynı koddan oluşur ve VirtIO alt sistemleri için trout ürününe özgü modüller.

  1. Çekirdeği klonlamak için şu komutu çalıştırın:
    repo init https://android.googlesource.com/kernel/manifest -b trout-android12-5.10 && repo sync
    
    .
  2. Çekirdek çalıştırmasını derlemek için:
    BUILD_CONFIG=common-modules/virtual-device/build.config.trout.coqos build/build.sh
    
    .

Hipervizör tedarikçiniz, farklı bir çekirdek yapılandırması gerektiriyor olabilir veya veya Derlenmesi gereken modüller vardır. Sağlanmışsa bu özel yönergeleri izlediğinizden emin olun.

Uygunluk

AAOS konuk sanal makine olarak çalıştığında hedefimiz düşünmeyi gerektiriyor. Ana makine tarafındaki sorunlar, her uygulamanın amacı ve kapsamı trout 1.1'dir.

trout 1.1 sürümünde ek xTS doğrulaması yapmadık. Devam et trout 1.0 sürümünde CTS desteğiyle ilgili açıklamalara göz atın.

trout 1.0 sürümünde CTS ile ilgili bazı sorunlar devam etmektedir. Aşağıdaki CTS modüllerinin test hatalarını dahil et:

CtsStagedLoadHostTestCases
CtsRollbackManagerHostTestCases
CtsVideoTestCases
CtsHostsideNetworkTests
CtsActivityManagerBackgroundActivityTestCases
CtsAdbHostTestCases
CtsYerelDonanımTestCases
CtsContentTestCases
CtsCarHostTestCases
CtsOsTestCases
CtsStatsdHostTestCases
CtsSesliEtkileşimTestDurumları
CtsViewTestCases
CtsKameraTestCases
CtsLocationGnssTestCases
CtsGrafik Test Durumları
CtsIncidentHostTestCases
CtsLoadHostTestCases
CtsNativeVerifiedBootTestCases
CtsNetTestCases
CtsWindowManagerCihazTestCases
CtsMediaStressTestCases
CtsAppTestCases
TtsUsbTest
CtsOtomatik DoldurServiceTestCases
CtsDisplayTestCases
CtsMediaTestCases
CtsDeqpTestCases
CtsDumpsysHostTestCases
CtsOpenGLTestCasesCtsLibcoreTestCases
CtsSecurityHostTestCases
CtsInputMethodTestCases
CtsStatsdAtomHostTestCases
CtsAllowed4TestCases
CtsNNAPIKarşılaştırmaTestCases
CtsBasitperfTestCases
CtsAccessibilityTestCases
CtsAppSecurityHostTestCases
CtsKeystoreTestCases

Aşağıdaki CTS-V alanlarının test hatalarını içerdiği bilinmektedir:

Araba başlatıcı testi
Bluetooth Düşük Enerji (BDE) Reklamveren testi
Akışlı Video Kalitesi Doğrulayıcı
Bluetooth HID cihazı testi
Hifi Ultrason Mikrofon testi
Hifi Ultrason Hoparlör testi
Kilidi Açık Cihaz Gerekli testi
Dinamik Sensör Keşif testi
Vücut Sensörü Kapalı testi
Anlamlı hareket testi
Ses Çıkışı Yönlendirme Bildirimi testi
Ağ İsteği veya Öneri testi

Sürüm notları

trout 1.1 sürümü, aşağıdaki bilinen sorunları içermektedir:

  • trout için kullanıcı derlemeleri kullanılamıyor. Sistem şöyle üretildi: -userdebug, bu da bazı CTS testlerini etkileyebilir.
  • Android Doğrulanmış Başlatma (AVB) desteklenmez.
  • Güvenli dünya ve NNHAL gibi bazı Android alt sistemleri kullanılamayabilir.
  • Misafir ağı erişimi genellikle sanallaştırılmış bir kablosuz ağ adaptörü ve virtio-net yer alır. Ana makine tarafı bağlantı, belirli hipervizör dağıtımınıza bağlıdır.
  • Bazı uygulamalar sınırlı sayıda Bluetooth özelliği sunabilir veya hiç Bluetooth özelliği sunmayabilir.
  • VHAL etkinlik yerleştirme işlemi bazı sensörlerde çalışmayabilir.
  • Bazı ağır iş yükleri, ses çalmada aksaklıklara neden olabilir.
  • Bazı uygulamalarda, AAOS misafirinin adb yeniden başlatılması tüm sistemi yeniden başlatabilir.
  • STS, sistemin kararsız hale gelmesine neden olabilir ve cihazın yeniden başlatılmasını gerektirebilir.

Daha ayrıntılı bilgi için kendi trout