trout라는 새로운 제품을 통해 이제 Android Automotive(AAOS)가 VirtIO 표준과 호환되는 환경에서 게스트 가상 머신(VM)으로 배포를 지원합니다. trout
는 Cuttlefish 가상 참조 플랫폼을 기반으로 하며 trout
기기 설정으로 사용할 수 있습니다. 사용자 공간 소스 코드는 device/google/trout
에서 확인할 수 있습니다. 아래 표는 trout
의 각 하위 시스템을 가상화하는 데 사용되는 기술을 설명합니다.
기능 | 기술 |
---|---|
Audio Control HAL | vsock/gRPC |
오디오 HAL | virtio-snd |
Dumpstate HAL | vsock/gRPC |
EVS(Extended View System) | virtio-video and vendor extensions |
차고 모드 | vsock/gRPC |
그래픽 | virtio-gpu |
Sensor HAL 2.0 | virtio-scmi and IIO |
터치스크린 입력 | virtio-input |
차량 HAL | vsock/gRPC |
trout
확장
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, Audio Control HAL 및 Dumpstate HAL 포함)은 AAOS 게스트와 기본 기능 구현을 제공하는 호스트 시스템 간의 vsock
연결로 지원되는 gRPC 인터페이스를 통해 구현됩니다. 이는 공급업체 속성으로 적절한 vsock
연결 매개변수를 제공함으로써 구성해야 합니다.
trout
빌드
사용자 공간 컴파일
사용자 공간을 컴파일하려면 다음을 실행합니다.
- Android 소스 트리를 다운로드합니다.
repo init -u https://android.googlesource.com/platform/manifest -b master repo sync -j8
- 환경을 빌드합니다.
source build/envsetup.sh lunch aosp_trout_arm64-userdebug make -j24
커널 빌드
초기 참조 플랫폼 출시 0.9의 경우 하이퍼바이저 구성 제한으로 인해 Android 커널을 맞춤설정할 수 없습니다. 사전 빌드된 커널은 OpenSynergy 하이퍼바이저 출시의 일부로 제공됩니다. 커널은 최신 VirtIO 드라이버를 통합하도록 일부 수정사항이 포함된 Android 공통 커널 분기 common-android11-5.4
에 기반합니다.
정보 제공을 위해 상응하는 커널 소스 코드를 다음 위치에서 제공합니다.
규정 준수
향후 출시에서 100% 호환성을 확보할 계획입니다.
trout
의 제한사항 및 지원되지 않는 요소
- 블루투스
- 글로벌 항법 위성 시스템(GNSS)
- LaunchCVD.
trout
는 현재crosvm
에서 부팅되지 않습니다. - 그래픽 이 출시에서 VirtIO GPU virgl 기기는
dmabuf
가 사용 중지될 때만 작동합니다. UI에서 빨간색과 파란색의 반전 색상을 표시합니다.