Android Pie 9.0.0 (2.3.0 GA) for Technexion PICO i.MX8M Mini

Android Pie 9.0.0 for TechNexion PICO PI iMX8M Mini

by Roberto Sartori

Introduction

The PICO-PI IMX8M Mini development board is based on the NXP i.MX8M Mini Quad application processor with 4GB LPDDR4 memory, 16GB eMMC storage, supporting Wi-Fi 5 - 802.11 a/b/g/n/ac and Bluetooth 5 (BR EDR BLE).

TechNexion provides a development kit that includes the PICO-PI-IMX8M-MINI evaluation board, 5" PCAP Multi Touch LCD display, 5MP camera module, MHF4 antenna, USB Type-C and Micro USB cables, VOICEHAT kit, and a cardboard stand.

Kynetics has built an image based on Android 9.0 (Pie) and NXP 2.3.0 GA compatibe with the Pico PI IMX8M Mini development kit from TechNexion.

This release supports Android Verified Boot. By default, only the images provided in this package are loaded by the Kynetics bootloader as an example of chain of trust capabilities of our BSPs. This release also supports Onmivision OV5645 camera as an usefull add on.

Release Notes

Here are some important notes about our build:

  • Android 9.0, U-Boot 2018.03, Linux Kernel 4.14
  • Based on NXP release: p9.0.0_2.3.0
  • Compatible with the TechNexion PICO-PI IMX8M MINI
    • OV5645 camera and 5" MIPI display from the Development Kit are supported
  • A/B partition scheme enabled
  • User build with enforcing SELinux, Android Verified Boot (AVB) and enabled DM-Verity
  • Application and system updates can be deployed by using Update Factory: Learn more about our Android client for Update Factory.
  • This is an evaluation unsupported release. For commercial support please contact us.

Flash Instructions

The following steps will guide you through the installation of Android 9.0 on the Pico PI IMX8M Mini development kit from TechNexion.

Hardware Requirements

  • TechNexion PICO-PI IMX8MM development kit (pico-pi-imx8m-mini-4g-dev)
    • SOM with 4GB of RAM and 16GB of eMMC
    • PICO PI carrier board
    • 5 inch MIPI display (optional)
    • OV5645 MIPI camera (optional)
  • A host computer running GNU/Linux
  • Micro USB cable - serial console access
  • USB-C cable - fastboot access

Software Requirements

  • Kynetics Android 9.0 evaluation binary GA 2.3.0 for TechNexion PICO PI iMX8MM archive, downloadable here
  • Android platform tools installed on the host computer

Installation procedure

Read the first point of the Known limitations paragraph before starting the installation procedure.

  • Unpack the Kynetics archive. The directory with the Android images will be referred as Kynetics Android images directory in this article.
  • Connect the micro USB cable to use the serial console from your host pc.
  • Connect the USB-C cable between the board and the host pc.
  • Boot the board in serial dowload mode following the instructions from TechNexion.
  • From the Kynetics Android images directory, run:
$ chmod +x uuu
$ chmod +x uuu_imx_android_flash.sh
$ sudo ./uuu_imx_android_flash.sh -f imx8mm-ili9881c -e

The uuu binary included only works on Linux. By default, the partition table for a 16GB eMMC is used. To flash a different partition table:

sudo ./uuu_imx_android_flash.sh -f imx8mm-ili9881c -e -c 28

28GB and 7GB are supported.

  • Wait for the [Done] Fastboot: done message on the host pc.
  • Reboot the board in 'boot from eMMC' mode changing the switch positions and Android will start.

Android Verified Boot

This release supports Android Verified Boot. By default, only the images provided in this package are loaded by the Kynetics bootloader. Kynetics provides images with disabled security for development: contact us for more details.

Q&A

  • Is ADB available in this release?
  • Is root available?
    • No, this is a user build
  • Can I use this release to develop apps?
    • Of course yes. You can deploy any APK which not require system permission.
  • Can I modify the Android OS?
    • No, this release supoprts full security for evaluation purposes. With AVB, DM-Verity and SE Linux enabled this image can not be modded.

Known limitations

  • When the board is powered up with the micro USB cable for the serial console access connected, it is possible that U-Boot gets some input signals and stops the boot process. In this situation random characters are shown on the console, so wait a few seconds (~10) and press CTRL+C to get access to the console. You may need to reboot the board if this isn't working. This issue doesn't happen when rebooting the board. Booting the boad without serial cable connected works fine.
  • The Voice HAT included in the development kit is not supported in this release.

Enjoy the Art of Coding™