透過名為 trout
的新產品,Android Automotive (AAOS) 現已支援
做為訪客虛擬機器 (VM) 的部署方式
VirtIO
標準。trout
採用根據
烏龜
虛擬參考平台,可做為 trout
裝置設定使用。
您可在 device/google/trout
找到使用者空間原始碼。表格
下方介紹了將 trout
中每個子系統虛擬化的技術。
功能 | 科技 |
---|---|
音訊控制 HAL | vsock/gRPC |
音訊 HAL | virtio-snd |
藍牙 | virtio-console |
Dumpstate HAL | vsock/gRPC |
擴充觀看系統 (EVS) | virtio-video |
車庫模式 | vsock/gRPC |
圖像 | virtio-gpu |
全域導航衛星 系統 (GNSS) | virtio-console |
HAL 2.0 感應器 | virtio-scmi and IIO |
觸控螢幕輸入 | virtio-input |
汽車 HAL | vsock/gRPC |
延伸延伸
trout
可做為建立新的車內資訊娛樂系統 (IVI) 的起點
指定 Android 目標。建構基礎架構的設計可進一步擴充及自訂。
例如:
# 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 ...]
有些 Android HAL 可以個別替換為自訂實作項目,或
預設實作項目保持不變,但為了建立
在目標環境中進行適當的 VM 間通訊。這些 HAL (包括車輛 HAL
音訊控制 HAL 和 Dumpstate HAL) 是由
vsock
獲得 AAOS 訪客與提供
基礎功能實作設定時,請務必提供適當的
vsock
連線參數做為供應商屬性。原始碼做為
要用於設定的屬性及其語意的真值
鱒魚圖案壁紙
編譯使用者空間
編譯使用者空間的方法如下:
- 下載 Android 原始碼樹狀結構:
repo init -u https://android.googlesource.com/platform/manifest -b main repo sync -j8
- 建構環境:
source build/envsetup.sh lunch aosp_trout_arm64-userdebug make -j24
建構核心
trout
1.1 版提供核心程式碼集。trout
核心包含與上游 ACK 5.10 相同的程式碼,並加上
trout
專用的 VirtIO 子系統模組。
- 如要複製核心,請執行:
repo init https://android.googlesource.com/kernel/manifest -b trout-android12-5.10 && repo sync
- 如要建構核心,請執行:
BUILD_CONFIG=common-modules/virtual-device/build.config.trout.coqos build/build.sh
管理程序供應商可能有其他需要或額外的核心設定 需要編譯的模組請務必遵循這些具體指引 (如有)。
法規遵循
AAOS 以訪客 VM 的形式執行時,我們的目標是成為
從架構的角度來看主機端問題反映的是個別導入作業的調查範圍,
範圍。trout
1.1。
我們未在 trout
1.1 上執行額外的 xTS 驗證。繼續
請參閱下列 trout
1.0 中的 CTS 支援討論。
trout
1.0 版仍有幾個 CTS 問題。下列 CTS 模組已知
包括測試失敗:
CtsStagedInstallHostTestCases CtsRollbackManagerHostTestCases CtsVideoTestCases 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 |
目前已知下列 CTS-V 部分包含測試失敗:
車輛啟動器測試 藍牙低功耗 (BLE) 廣告主測試 串流影片品質驗證器 藍牙 HID 裝置測試 Hifi 超音波麥克風測試 Hifi 超音波測試 |
必須測試已解鎖裝置 動態感應器探索測試 離體感應器測試 顯著動作測試 音訊輸出轉送通知測試 網路要求或建議測試 |
版本資訊
trout
1.1 包含下列已知問題:
- 未提供「
trout
」的使用者版本。這套系統以-userdebug
,這會影響部分 CTS 測試。 - 不支援 Android 驗證開機程序 (AVB)。
- 部分 Android 子系統可能無法使用,包括安全的世界和 NNHAL。
- 訪客網路存取權通常是由虛擬化 Wi-Fi 轉接器和
1 個
virtio-net
更新通道主機端連線取決於您的特定管理程序部署項目。 - 有些實作項目可能提供有限的藍牙功能,或是未提供藍牙功能。
- 部分感應器可能不支援 VHAL 事件插入功能。
- 某些繁重的工作負載可能會造成音訊播放故障。
- 在某些實作項目中,ADB 重新啟動 AAOS 訪客可能會重新啟動整個系統。
- STS 可能會導致系統不穩定,並需要重新啟動。
詳情請參閱合作夥伴版本資訊,瞭解您的實際部署環境
trout
。