AOSP Porting to iMX8MP for Automotive Application

AOSP Porting to iMX8MP for Automotive Application

Full-cycle AOSP porting and integration, including Secure Boot, OTA updates, and Android Auto support

A leading automotive client approached Iomico with a challenge: port a clean Android Open Source Project (AOSP) to the Compulab UCM-iMX8MP System-on-Module, with minimal reliance on NXP's Yocto-based tools.

The i.MX family of applications processors is an excellent platform for building high-performance, low-power, and cost-effective Android OS products.

The project was built on a robust hardware foundation featuring 8GB LPDDR4 RAM, eMMC storage on the SoM, u-Blox MAYA 260 (NXP IW612) Wi-Fi via SDIO, and a Sierra Wireless EM7595 LTE modem via USB/M.2, with development conducted on Ubuntu 20.04+ and full support for AHAB + AVB 2.0 + TrustZone Secure Boot, signed A/B OTA updates over HTTPS, and Android Auto via USB Accessory Mode with AOA 2.0.

The goal was to port AOSP and deliver a robust, updatable Android system tailored for automotive use cases. The iomico team has delivered the following:

  1. AOSP Device Integration
  • Defined BoardConfig.mk, Android.mk, and Android.bp files

  • Added custom init scripts, boot parameters, and fstab configuration

  • Enabled device-specific lunch combo for building

2. Kernel & Bootloader Support
  • Ported and configured the Linux kernel 5.15 for Android

  • Built and integrated U-Boot with Android Boot Image and Verified Boot support

  • Integrated ARM Trusted Firmware (ATF) to complete the boot chain:
    U-Boot → ATF → Kernel + Ramdisk + dtb

3. Proprietary Firmware Integration
  • Integrated essential firmware:

    • DDR training firmware

    • VPU firmware for hardware video encoding/decoding

    • Wi-Fi module: u-Blox MAYA 260 (NXP IW612 via SDIO)

    • LTE modem: Sierra Wireless EM7595 (USB/M.2) + userspace daemons

  • Bundled firmware in the vendor partition following AOSP best practices

4. Android System Boot
  • Brought up the Android console and home screen using standard AOSP startup flows

  • Debugged and validated peripherals, including UART console, Ethernet, and USB

5. OTA (Over-the-Air) Update System
  • Enabled OTA update support using AOSP’s ota_from_target_files

  • Created scripts for full and incremental updates

  • Enabled secure OTA delivery via HTTPS and implemented package signing

  • Integrated AOSP Update Engine and verified end-to-end update functionality

6. Secure Boot Implementation
  • Enabled NXP AHAB (Advanced High Assurance Boot) on i.MX8MP

  • Digitally signed SPL, U-Boot, and kernel images

  • Implemented Android Verified Boot (AVB 2.0) for system integrity

  • Utilized ARM TrustZone for cryptographic operations and key storage

  • Enabled "Factory Mode" support for secure provisioning and production locking

7. Android Auto Integration
  • Enabled USB Accessory Mode and AOA 2.0 (Android Open Accessory)

  • Validated USB Audio and Android Auto interface functionality

  • Delivered demo APK for activating and showcasing Android Auto on supported head units

8. Build System & Source Organization
  • Created an isolated manifest.xml to manage project-specific repositories

  • Maintained clean separation of AOSP and device-specific changes

  • Developed build and flashing tools using uuu for streamlined deployment

Unlike traditional Yocto-based Android implementations, Iomico focused on maintaining compatibility with upstream AOSP tooling, ensuring long-term maintainability, clean integration of firmware, and simplified OTA updates. By leveraging native AOSP infrastructure, we minimized dependencies on proprietary scripts and delivered a clean and flexible Android system for embedded automotive use.

Ready to Bring AOSP to Your Hardware?

If you want to build an Android-based unit, Iomico can perform successful AOSP porting and custom AOSP development, fast bootloader setup, secure firmware integration, and field-ready OTA update pipelines.

Our services

AOSP development, Embedded Linux

Industry

Technology

AOSP device integration (BoardConfig.mk, Android.mk, Android.bp, init scripts, fstab, lunch combo) · Kernel & bootloader (Linux 5.15, U-Boot + Verified Boot, ATF boot chain) · Firmware integration (DDR, VPU, Wi-Fi IW612, LTE EM7595, vendor partition) · Android boot & peripheral validation (UART, Ethernet, USB) · OTA system (full/incremental updates, HTTPS, signing, Update Engine) · Secure Boot (AHAB, signed SPL/U-Boot/kernel, AVB 2.0, TrustZone, Factory Mode) · Android Auto (USB Accessory Mode, AOA 2.0, USB Audio, demo APK) · Build system (manifest.xml, repo separation, uuu flashing tools).

Team

Contact us

Address

400 Union Ave. SE,

Suite 200 

Olympia, WA 98501

Instant Messenger
Social Media

Contact us

Address

400 Union Ave. SE,

Suite 200 

Olympia, WA 98501

Instant Messenger
Social Media

Contact us

Address

400 Union Ave. SE,

Suite 200 

Olympia, WA 98501

Instant Messenger
Social Media