Skip to content

Android 10 for Toradex Apalis i.MX8QM

Android 10 for Toradex Apalis i.MX8QM

Introduction

The Apalis iMX8 is a small form-factor System on Module based on the latest NXP i.MX 8 SoCs. The most performant i.MX 8 SoC, the i.MX 8QuadMax, features 2x Cortex-A72 and 4x Cortex-A53 application processor cores, and 2x additional Cortex-M4F, which also include a FPU, microcontroller cores. The integrated high-performance dual GC7000 3D GPU supports Open GL ES 3.1 and Vulkan on up to 4x 1080p or one 4K display.

The Apalis iMX8 is pin-compatible with the other SoMs in the Apalis family. This allows existing Apalis-based products to easily scale and migrate to the new Apalis iMX8. All Toradex's Apalis Carrier Boards are compatible with Apalis i.MX8.

Kynetics, as part of the Toradex early access program, has worked on the Android Kernel for the Toradex Apalis i.MX8QM and built an image based on Android 10.0 compatibe with the Ixora carrier board.

Release Notes

Here are some important notes about our build:

  • Android 10.0, U-Boot 2020.04, Linux Kernel 5.4
  • Based on NXP release: android-10.0.0_2.3.0
  • Compatible with Toradex Apalis i.MX8QM V1.0B/V1.1B/V1.1C with the Ixora carrier board V1.1A/V1.2
  • 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 10 on the Apalis i.MX8QM.

Hardware Requirements

  • Toradex Apalis i.MX8QM V1.0B/V1.1B/V1.1C (SOC Rev. B0) with the Ixora carrier board, V1.1A/V1.2
    • SOM with wifi and bluetooth support, 4GB of RAM and 16GB of eMMC
  • The Toradex 10 inches LVDS display (1280x800)
  • An HDMI display
  • A USB mouse to use as an input device
  • A USB drive formatted in FAT32 (at least 4 GB)
  • A host computer running GNU/Linux
  • Micro USB cable

Optional for debugging:

This release supports boards shipped in Oct 2018 and later. If you are experiencing random reboots at runtime you are likely affected by an issue documented on the Toradex Errata at: Apalis i.MX8 Errata

Software Requirements

  • The Apalis board running the Toradex Easy Installer
  • Kynetics Android 10 Easy Installer archive, downloadable here
  • Android platform tools installed on the host computer - Optional for debugging

Installation procedure

  • Download the Toradex Easy Installer archive for the Apalis iMX8QM here. The procedure is tested with the Easy Installer package version Apalis-iMX8_ToradexEasyInstaller_2.0b6-nightly-20201013.
  • Unpack the Kynetics Android 10 Easy Installer archive in the USB drive
  • Connect an HDMI display to the HDMI port of the Ixora board
  • Insert the USB drive in the top USB port of the connectox X8 on the Ixora board
  • Connect the USB mouse to the USB port on the connector X7 on the Ixora board
Part 1: load the Toradex Easy Installer

If your board is already running the Toradex Easy Installer, skip Part 1 and start from the Part 2.
Note that some USB drives may not be recognized on U-Boot. If this happens, please try with a different USB drive.

  • Power off the board
  • Unpack the Toradex Easy Installer archive in a directory of your host pc
  • Enter in iMX recovery mode: on the JP4 (recovery) jumper on the Ixora board, connect the first two PINs and power on the board
  • Connect the Ixora board and the host pc with a micro USB cable from the connector X9 of the board
  • From the host pc, from the directory with the Toradex Easy Installer archive, run:
    $ chmod +x ./recovery-linux.sh
    $ chmod +x ./recovery/uuu
    $ sudo ./recovery-linux.sh
    
    The Toradex Easy installer should automatically start. Remove the jumper on JP4 to allow the board to reboot into normal boot mode.
Part 2: flash Android

The Toradex Easy Installer should automatically recognize the Kynetics Android 10 image on the RNDIS tab of the Easy Installer interface. Using the mouse, start the flashing procedure.
When the flashing has ended, power cycle the board with the SW2 reset button and Android should start.

Source code

The source code for this build is available here.
The archive with the sources also include the documentation needed to build and flash Android.

Changelog

SNAPSHOT-20210709
  • Fix hardware acceleration during video playback (h264, h265)
SNAPSHOT-20201111
  • Add support for Apalis V1.1B and V1.1C
SNAPSHOT-20201013
  • First release

Q&A

  • Is ADB available?
    • Yes, ADB works using the microUSB port on connector X8. Note that in order to have ADB working the port should work as USB device port: the jumper JP2 should be configured as open. If the jumper is closed, the port works as USB host port and it is possible to use it with a mouse or a USB drive. Refer to the Ixora datasheet for further information.
  • 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.
  • Is the HDMI display supported?
    • Yes, the HDMI is supported by default. When HDMI is connected during the Android boot, Android will use the HDMI display as screen resolution also on the LVDS panel.

Enjoy the Art of Coding™