Skip to content

Android Pie 9.0.0 for PICO PI iMX8MM

Android Pie 9.0.0 for TechNexion PICO PI iMX8M Mini

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) compatibe with the Pico PI IMX8M Mini development kit from TechNexion.

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.0.0-ga
  • Compatible with the TechNexion PICO-PI IMX8M MINI development kit
  • A/B partition scheme enabled
  • Userdebug build with permissive SELinux and disabled DM-Verity
  • Application updates can be deployed by using Update Factory: Learn more about our Android client for Update Factory.
  • This is an 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 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. The board will start booting: stop it at the U-Boot console pressing any button.
  • On the U-Boot console:

    => mmc partconf 1 1 1 1
    => fastboot 0
    

  • On the host pc console, from the Kynetics Android images directory:

    $ sudo fastboot flash bootloader u-boot-imx8mm.imx
    
    If this command returns an error (FAILED), change it to:
    $ sudo fastboot flash bootloader0 u-boot-imx8mm.imx
    

  • Reboot the board and stop it again in the U-Boot console.

  • From the u-boot console

    => env default -a
    => saveenv
    => fastboot 0
    

  • From the host pc, from the Kynetics Android images directory:

    $ sudo ./fastboot_imx_flashall.sh -f imx8mm -e
    
    By default, the script flashes the partition table for the 16gb version of the PICO SOM. Use the -c X argument of the script to change this, as example:
    $ sudo ./fastboot_imx_flashall.sh -f imx8mm -c 8 -e
    
    8GB and 28GB are available.

  • After that, run:

    $ sudo fastboot reboot
    
    and the board will reboot into Android.

Q&A

  • Is fastboot working?
    • Yes, however the first time fastboot is used it is necessary to unlock the device, with the command fastboot flashing unlock. This will wipe the data on the device.

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 ususally happen when rebooting the board.
  • The Voice HAT included in the development kit is not supported in this release.
  • The HDMI output is not supported in this release.

Enjoy the Art of Coding™