Android Automotive (AAOS), trout
adlı yeni bir ürün aracılığıyla artık VirtIO standardıyla uyumlu ortamlarda konuk sanal makine (VM) olarak dağıtım desteği sağlıyor. trout
, Mürekkepbalığı sanal referans platformunu temel alır ve trout
cihazı konfigürasyonu olarak mevcuttur. Kullanıcı alanı kaynak kodu, device/google/trout
adresinde bulunabilir. Aşağıdaki tablo, trout
alt sistemlerin her birini sanallaştırmak için kullanılan teknolojiyi açıklamaktadır.
Özellik | Teknoloji |
---|---|
Ses Kontrolü HAL | vsock/gRPC |
Ses HAL'i | virtio-snd |
Bluetooth | virtio-console |
Çöp durumu HAL | vsock/gRPC |
Genişletilmiş Görüş Sistemi (EVS) | virtio-video |
Garaj modu | vsock/gRPC |
Grafik | virtio-gpu |
Küresel navigasyon uydu sistemi (GNSS) | virtio-console |
Sensör HAL 2.0 | virtio-scmi and IIO |
Dokunmatik ekran girişi | virtio-input |
Araç HAL'i | vsock/gRPC |
Alabalık uzatma
trout
yeni Araç İçi Bilgi ve Eğlence (IVI) Android hedefleri oluşturmak için bir başlangıç noktası olarak kullanılabilir. Yapı altyapısı genişletilecek ve özelleştirilecek şekilde tasarlanmıştır. Örneğin:
# 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 ...]
Birkaç Android HAL, özel uygulamalarla ayrı ayrı değiştirilebilir veya varsayılan uygulamalar korunur ancak belirli yapılandırma parametreleri, hedef ortamda VM'ler arası doğru iletişimi sağlayacak şekilde ayarlanabilir. Bu HAL'ler (Araç HAL'si, Ses Kontrolü HAL'si ve Dumpstate HAL dahil), AAOS konuğu ile temel özellik uygulamasını sağlayan bir ana bilgisayar sistemi arasındaki vsock
bağlantısı tarafından desteklenen bir gRPC arayüzü aracılığıyla uygulanır. Bunlar, satıcı özellikleri olarak uygun vsock
bağlantı parametreleri sağlanarak yapılandırılmalıdır. Kaynak kodu, özelliklerin konfigürasyon ve anlambilimi için mevcut olduğu nihai temel gerçek görevi görür.
Alabalık yapımı
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
Çekirdeği oluşturmak
trout
1.1 için çekirdek kod tabanı AOSP'de sağlanmıştır. trout
çekirdeği, VirtIO alt sistemleri için trout
özgü modüllerin eklenmesiyle yukarı akışlı ACK 5.10 ile aynı koddan oluşur.
- Çekirdeği klonlamak için şunu çalıştırın:
repo init https://android.googlesource.com/kernel/manifest -b trout-android12-5.10 && repo sync
- Çekirdek çalıştırmasını oluşturmak 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ına veya derlenmesi gereken ek modüllere sahip olabilir. Sağlanmışsa, bu özel yönergeyi takip ettiğinizden emin olun.
uyma
AAOS konuk VM olarak çalıştığında hedefimiz çerçeve perspektifinden uyumlu bir Android dağıtımı olmaktır. Ev sahibi tarafındaki sorunlar her uygulamanın kapsamına girer ve trout
1.1'in kapsamı dışındadır.
trout
1.1'de ek xTS doğrulaması yapmadık. trout
1.0'da CTS desteğiyle ilgili aşağıdaki tartışmaya başvurmaya devam edin.
trout
1.0'da birkaç CTS sorunu devam etmektedir. Aşağıdaki CTS modüllerinin test başarısızlıklarını içerdiği bilinmektedir:
CtsStagedInstallHostTestCases CtsRollbackManagerHostTestCase'ler CtsVideoTest Vakaları CtsHostsideNetworkTestleri CtsActivityManagerArka PlanActivityTest Vakaları CtsAdbHostTest Vakaları CtsNativeHardwareTest Vakaları CtsContentTestCase'ler CtsCarHostTest Vakaları CtsOsTest Vakaları CtsStatsdHostTestCase'ler CtsSes EtkileşimiTest Vakaları CtsViewTestCase'ler CtsKameraTest Vakaları CtsKonumGnssTest Vakaları CtsGrafikTest Vakaları CtsIncidentHostTestVakaları CtsInstallHostTestCase'ler CtsNativeVerifiedBootTestCases CtsNetTestCase'ler | CtsWindowManagerDeviceTestCase'ler CtsMediaStresTest Vakaları CtsAppTest Vakaları CtsUsbTestleri CtsAutoFillServiceTest Vakaları CtsDisplayTest Vakaları CtsMediaTest Vakaları CtsDeqpTest Vakaları CtsDumpsysAna BilgisayarTest Vakaları CtsOpenGLTestCase'lerCtsLibcoreTestCase'ler CtsSecurityHostTest Vakaları CtsGirişMetoduTest Vakaları CtsStatsdAtomHostTestCase'ler CtsPermission4TestCase'ler CtsNNAPIBenchmarkTest Vakaları CtsSimpleperfTest Vakaları CtsErişilebilirlikTest Durumları CtsAppSecurityHostTest Vakaları CtsAnahtar DeposuTest Vakaları |
Aşağıdaki CTS-V alanlarının test başarısızlıklarını içerdiği bilinmektedir:
Araç Başlatıcı testi Bluetooth Düşük Enerji (BLE) Reklamveren testi Akış Video Kalitesi Doğrulayıcı Bluetooth HID Cihaz testi Hifi Ultrason Mikrofon testi Hifi Ultrason Hoparlör testi | Kilitsiz Cihaz Gerekli testi Dinamik Sensör Keşfi testi Kapalı Vücut Sensörü testi Önemli Hareket testi Ses Çıkışı Yönlendirme Bildirimi testi Ağ İsteği veya Önerisi testi |
Sürüm notları
trout
1.1 aşağıdaki bilinen sorunları içerir:
-
trout
kullanıcı yapıları mevcut değil. Sistem, bazı CTS testlerini etkileyebilecek-userdebug
olarak oluşturulmuştur. - Android Doğrulanmış Önyükleme (AVB) desteklenmiyor.
- Secure World ve NNHAL dahil bazı Android alt sistemleri kullanılamayabilir.
- Konuk ağ erişimi genellikle sanallaştırılmış bir Wi-Fi bağdaştırıcısı ve bir
virtio-net
tüneli aracılığıyla sağlanır. Ana bilgisayar tarafı bağlantısı, özel hiper yönetici dağıtımınıza bağlıdır. - Bazı uygulamalar sınırlı Bluetooth özelliği sunabilir veya hiç sunmayabilir.
- VHAL olay enjeksiyonu bazı sensörler için çalışmayabilir.
- Bazı ağır iş yükleri ses oynatma sorunlarına neden olabilir.
- Bazı uygulamalarda, AAOS konuğunun adb yeniden başlatılması tüm sistemi yeniden başlatabilir.
- STS sistem kararsızlığına neden olabilir ve yeniden başlatma gerektirebilir.
Ek ayrıntılar için trout
dağıtımınıza ilişkin iş ortağı sürüm notlarına bakın.