O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Plataforma de Referência

Através de uma truta novo produto chamado, Automotive Android (AAOS) agora fornece suporte para implantação como uma máquina virtual convidada (VM) em ambientes compatíveis com o virtio padrão. trout baseia-se no choco plataforma virtual de referência e está disponível como a trout configuração do dispositivo. O código-fonte userspace podem ser encontrados no device/google/trout . O quadro que se segue descreve a tecnologia utilizada para a virtualização cada um dos subsistemas de trout .

A equipe da plataforma AAOS tem desenvolvido e verificado o lançamento da plataforma de referência inicial de 0,9 na Qualcomm SA8155P chipset usando o Lantronix hardware de referência ao lado do COQOS Hypervisor SDK do OpenSynergy.
Recurso Tecnologia
HAL de controle de áudio vsock/gRPC
Áudio HAL virtio-snd
Dumpstate HAL vsock/gRPC
Extended View System (EVS) virtio-video and vendor extensions
Modo garagem vsock/gRPC
Gráficos virtio-gpu
Sensor HAL 2.0 virtio-scmi and IIO
Entrada da tela sensível ao toque virtio-input
HAL do veículo vsock/gRPC

estendendo trout

trout pode ser usado como um ponto de partida para criar novas In-Vehicle Infotainment (IVI) alvos Android. A infraestrutura de construção é projetada para ser estendida e customizada. Por exemplo:

# 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 ...]

Vários HALs do Android podem ser substituídos individualmente por implementações personalizadas ou as implementações padrão mantidas, mas certos parâmetros de configuração ajustados para estabelecer uma comunicação adequada entre VMs no ambiente de destino. Estes HALs (incluindo Veículo HAL, Audio Control HAL, e dumpstate HAL) são implementadas por meio de uma interface gRPC apoiado por uma vsock conexão entre o convidado AAOS e um sistema host fornecendo a implementação recurso subjacente. Estes devem ser configurado por meio de fornecimento das adequadas vsock parâmetros de ligação como as propriedades do fornecedor.

construção de trout

Compile o espaço do usuário

Para compilar o espaço do usuário:

  1. Baixar a árvore fonte Android:
    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Construir o ambiente:
    source build/envsetup.sh
    lunch aosp_trout_arm64-userdebug
    make -j24
    

Construindo o kernel

Para a versão de plataforma de referência inicial 0.9, devido a uma limitação de configuração do hipervisor, o kernel do Android não pode ser personalizado. Um kernel pré-construído será fornecido como parte do lançamento do hipervisor OpenSynergy. O kernel é baseado no Android Comum Kernel ramo common-android11-5.4 com algumas modificações para incorporar as mais recentes drivers virtio. Para fins informativos, o código-fonte do kernel correspondente está disponível nestes locais:

Conformidade

O plano é atingir 100% de compatibilidade em uma versão posterior.

Limitações e elementos não suportados em trout

  • Bluetooth.
  • Sistema global de navegação por satélite (GNSS).
  • LaunchCVD. trout não inicializa atualmente sob crosvm .
  • Gráficos. Nesta versão, o dispositivo virgl virtio GPU funciona apenas quando dmabuf . está desabilitado. A IU mostra cores invertidas para vermelho e azul.