iMX6 TinyRex Pro Android
Jump to navigation
Jump to search
Android is a mobile operating system (OS) based on the Linux kernel and currently developed by Google.
This document describes installation procedure for binary Freescale Android 7.1 image. Supported peripheral:
- iMX6 TinyRex Pro Module
- HDMI output
- USB flash as external storage
- Video playback
- Audio playback
- WiFi
- Ethernet
Android 7.1
Install Prerequisites
sudo apt-get install uuid uuid-dev sudo apt-get install zlib1g-dev liblz-dev sudo apt-get install liblzo2-2 liblzo2-dev sudo apt-get install lzop sudo apt-get install git-core curl sudo apt-get install u-boot-tools sudo apt-get install mtd-utils sudo apt-get install android-tools-fsutils sudo apt-get install openjdk-8-jdk
Source code
Downloadable files needed during the building:
- Documentation for Android provided by NXP
- Source code with patches provided by NXP
- Voipac patches that add support for iMX6 TinyRex boards
Applying Voipac patches
tar xvzf android_N7.1.1_1.0.0_source_voipac.tar.gz -C ~/workdir/imx6/android/ cd ~/workdir/imx6/android/a711-rex/device/ tar xvzf ~/workdir/imx6/android/android_N7.1.1_1.0.0_source_voipac/device_vpac-proprietary_voipac.tar.gz -C . cd ~/workdir/imx6/android/a711-rex/device/fsl/ git apply ~/workdir/imx6/android/android_N7.1.1_1.0.0_source_voipac/device_fsl_voipac.patch cd ~/workdir/imx6/android/a711-rex/bootable/bootloader/uboot-imx git apply ~/workdir/imx6/android/android_N7.1.1_1.0.0_source_voipac/bootable_bootloader_uboot-imx_voipac.patch cd ~/workdir/imx6/android/a711-rex/kernel_imx git apply ~/workdir/imx6/android/android_N7.1.1_1.0.0_source_voipac/kernel_imx_voipac.patch cd ~/workdir/imx6/android/a711-rex/hardware/imx git apply ~/workdir/imx6/android/android_N7.1.1_1.0.0_source_voipac/hardware_imx_voipac.patch cd ~/workdir/imx6/android/a711-rex/hardware/broadcom/wlan git apply ~/workdir/imx6/android/android_N7.1.1_1.0.0_source_voipac/hardware_broadcom_wlan_voipac.patch
Build name options
- imx6tinyrex - iMX6 TinyRex Module Pro/Max/Max4G/Ultra
- imx6rex - iMX6 Rex Module Pro/Ultra
- imx6openrex - iMX6 OpenRex SBC Max/Max4G/Ultra
Build type options
- user - Production ready image, no debug
- userdebug - Provides image with root access and debug, similar to "user"
- eng - Development image with debug tools
Building commands
cd ~/workdir/imx6/android/a711-rex source build/envsetup.sh lunch imx6tinyrex-userdebug make 2>&1 | tee build-log-imx6tr.txt lunch imx6rex-userdebug make 2>&1 | tee build-log-imx6r.txt lunch imx6openrex-userdebug make 2>&1 | tee build-log-imx6or.txt
Compiled files are stored in the ouput directory:
cd ~/workdir/imx6/android/a711-rexout/ ls -la out/target/product/ drwxrwxr-x 6 user user 4096 7 24 07:19 . drwxrwxr-x 4 user user 4096 8 30 2017 .. drwxrwxr-x 11 user user 4096 8 22 21:34 imx6openrex drwxrwxr-x 11 user user 4096 7 28 20:19 imx6rex drwxrwxr-x 11 user user 4096 6 18 2017 imx6tinyrex drwxrwxr-x 11 user user 4096 5 1 2017 sabresd_6dq
Binary files
Official Voipac Android files can be found in downloads section.
Preparing SD card
mkdir -pv ~/workdir/imx6/android/bin/7_1/tinyrex cd ~/workdir/imx6/android/bin/7_1/tinyrex wget -r -nH -nd -np -R index.html* http://downloads.voipac.com/index.php?p=iMX6_TinyRex_Development_kit/module/software/android/Android_7_1/binaries chmod a+x vpac-sdcard-partition.sh
SD card partition layout
This will be the final SD card partitioning layout at the end of installation procedure:
Partition type/index | Name | Start offset | Size | File system | Content |
---|---|---|---|---|---|
N/A | BOOT Loader | 1 KB | 1 MB | N/A | bootloader |
Primary 1 | Boot | 8 MB | 32 MB | boot.img format, kernel + ramdisk | boot.img |
Primary 2 | Recovery | Follow Boot | 32 MB | boot.img format, kernel + ramdisk | recovery.img |
Logic 5 (Extended 3) | SYSTEM | Follow Recovery | 1536 MB | EXT4. Mount as /system | system.img (Android system files under /system/ dir) |
Logic 6 (Extended 3) | CACHE | Follow SYSTEM | 512 MB | EXT4. Mount as /cache | Android cache for image store of OTA |
Logic 7 (Extended 3) | Device | Follow CACHE | 8 MB | EXT4. Mount as /vender | To Store MAC address files |
Logic 8 (Extended 3) | Misc | Follow Device | 6 MB | N/A | For recovery store bootloader message, reserve |
Logic 9 (Extended 3) | DATAFOOTER | Follow Misc | 2 MB | N/A | For crypto footer of DATA partition encryption bootloader message, reserve |
Primary 4 | DATA | Follow Misc | Total - Other images | EXT4. Mount at /data | Application data storage for the system application and for internal media partition in /mnt/sdcard/ dir |
Creating SD card
Based on the location where the SD card has been mounted alter and use one of these commands:
sudo ./vpac-sdcard-partition.sh -f imx6tinyrex pro /dev/mmcblkX
or
sudo ./vpac-sdcard-partition.sh -f imx6tinyrex pro /dev/sdX
Setup
Bootloader
Android bootloader is stored in SD card and directly executed. Additional configurations are not required.
Setting HDMI video output
setenv bootargs "console=ttymxc0,115200 init=/init video=mxcfb0:dev=hdmi,if=RGB24,bpp=32 video=mxcfb1:off vmalloc=128M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=320M" saveenv