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:
- Android kaynak ağacını indirin:
repo init -u https://android.googlesource.com/platform/manifest -b main repo sync -j8
. - 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.
- Ç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
. - Ç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