Справочная платформа

Через новый продукт под названием форель, Android Automotive (AAOS) теперь обеспечивает поддержку для развертывания в качестве гостевой виртуальной машины (VM) в средах , совместимых с Virtio стандартом. trout основана на каракатицы виртуальной опорной платформе и доступен как trout конфигурации устройства. Исходный код в пользовательском пространстве можно найти на device/google/trout . В таблице ниже описаны технологии , используемые для виртуализации каждой из подсистем в trout .

Платформа команда AAOS разработала и проверила первоначальный выпуск эталонной платформы 0.9 на Qualcomm SA8155P набора микросхем с использованием Lantronix эталонного оборудования наряду с COQOS гипервизор SDK от OpenSynergy.
Характерная черта Технология
Управление звуком HAL vsock/gRPC
Аудио HAL virtio-snd
Dumpstate HAL vsock/gRPC
Система расширенного обзора (EVS) virtio-video and vendor extensions
Гаражный режим vsock/gRPC
Графика virtio-gpu
Датчик HAL 2.0 virtio-scmi and IIO
Сенсорный экран ввода virtio-input
Автомобиль HAL vsock/gRPC

Расширение trout

trout может быть использована в качестве отправной точки для создания новых In-Vehicle Infotainment (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 ...]

Некоторые HAL для Android могут быть индивидуально заменены пользовательскими реализациями, либо реализации по умолчанию могут быть сохранены, но некоторые параметры конфигурации настроены для установления надлежащего взаимодействия между виртуальными машинами в целевой среде. Эти , HAL ( в том числе транспортных средств HAL, Audio Control HAL и HAL Dumpstate) реализованы с помощью интерфейса КПГР подкрепленную vsock связи между AAOS гостя и хост - системой , обеспечивающей основную реализацию функций. Они должны быть сконфигурированы посредством подачи надлежащего 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. Ядро базируются на Android Общего Kernel ветви common-android11-5.4 с некоторыми изменениями , чтобы включить последние драйвера Virtio. В информационных целях соответствующий исходный код ядра доступен по следующим адресам:

Согласие

Планируется достичь 100% совместимости в более позднем выпуске.

Ограничения и неподдерживаемые элементы trout

  • Блютуз.
  • Глобальная навигационная спутниковая система (GNSS).
  • ЗапуститьCVD. trout в настоящее время не загружается под crosvm .
  • Графика. В этом выпуске virgl устройство Virtio GPU работает только тогда , когда dmabuf . выключен. Пользовательский интерфейс показывает инвертированные цвета для красного и синего.