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

At a glance

Platform: TechNexion PICO PI IMX8M Mini · SoC: NXP i.MX8M Mini · Android: 9 (Pie) · Kernel: 4.14

This BSP targets the TechNexion PICO PI IMX8M Mini development kit and enables Android 9 (Pie) with A/B partitions and Kynetics Update Factory OTA support. The 5-inch MIPI display and OV5645 MIPI camera from the development kit are supported.

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 usually 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.

Frequently Asked Questions

Does this release support A/B seamless updates?

Yes, A/B partitions are enabled in this build. Updates can be deployed over-the-air using Kynetics Update Factory, which leverages the A/B partition scheme for seamless, zero-downtime updates.

Why does U-Boot halt when the Micro USB serial cable is connected at power-up?

This is a known limitation. When powered on with the serial Micro USB cable connected, U-Boot may receive spurious input and halt. Wait a few seconds and press CTRL+C to access the U-Boot console. Reboot the board if that does not work. This issue does not usually occur on subsequent reboots.

Is the Voice HAT from the TechNexion development kit supported?

No, the Voice HAT accessory included in the TechNexion PICO PI development kit is not supported in this release.

Is HDMI output available on the PICO PI IMX8M Mini?

HDMI output is not supported in this release. Display output is available through the 5-inch MIPI display included in the TechNexion development kit.

How do I unlock the device for fastboot flashing?

Before flashing for the first time, unlock the device by running fastboot flashing unlock from your host PC. Note that this command wipes all user data on the device.

Enjoy the Art of Coding™