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:
AOSP Device Integration
Defined
BoardConfig.mk
,Android.mk
, andAndroid.bp
filesAdded custom
init
scripts, boot parameters, and fstab configurationEnabled 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 repositoriesMaintained 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.