Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

참조 플랫폼

trout라는 새로운 제품을 통해 이제 Android Automotive(AAOS)가 VirtIO 표준과 호환되는 환경에서 게스트 가상 머신(VM)으로 배포를 지원합니다. troutCuttlefish 가상 참조 플랫폼을 기반으로 하며 trout 기기 설정으로 사용할 수 있습니다. 사용자 공간 소스 코드는 device/google/trout에서 확인할 수 있습니다. 아래 표는 trout의 각 하위 시스템을 가상화하는 데 사용되는 기술을 설명합니다.

AAOS 플랫폼팀은 OpenSynergy의 COQOS Hypervisor SDK와 함께 Lantronix 참조 하드웨어를 사용하여 Qualcomm SA8155P 칩셋에서 초기 참조 플랫폼 출시 0.9를 개발하고 확인했습니다.
기능 기술
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 빌드

사용자 공간 컴파일

사용자 공간을 컴파일하려면 다음을 실행합니다.

  1. Android 소스 트리를 다운로드합니다.
    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. 환경을 빌드합니다.
    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에서 빨간색과 파란색의 반전 색상을 표시합니다.