Difference between revisions of "iMX6 TinyRex Ultra Android"

From Voipac Wiki
Jump to navigation Jump to search
(Created page with "Category:iMX6 TinyRex Development kit Category:iMX6 TinyRex Ultra Category:Android <!-- --> <div style="float:right">__TOC__</div> Android is a mobile operating sy...")
 
Line 36: Line 36:
 
* [http://downloads.voipac.com/index.php?p=iMX6_TinyRex_Development_kit/module/software/android/Android_7_1/sources&dl=android_N7.1.1_1.0.0_source.tar.gz Source code] with patches provided by NXP
 
* [http://downloads.voipac.com/index.php?p=iMX6_TinyRex_Development_kit/module/software/android/Android_7_1/sources&dl=android_N7.1.1_1.0.0_source.tar.gz Source code] with patches provided by NXP
  
* [http://downloads.voipac.com/index.php?p=iMX6_TinyRex_Development_kit/module/software/android/Android_7_1/sources&dl=android_N7.1.1_1.0.0_source_voipac.tar.gz Voipac patches] that add support for REX targets
+
* [http://downloads.voipac.com/index.php?p=iMX6_TinyRex_Development_kit/module/software/android/Android_7_1/sources&dl=android_N7.1.1_1.0.0_source_voipac.tar.gz Voipac patches] that add support for TinyRex boards
  
 +
==== Applying Voipac patches ====
 +
<syntaxhighlight lang="bash">
 +
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
 +
</syntaxhighlight>
  
 +
==== 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 command ====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 +
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
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
Compiled files are stored in the ouput directory:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 +
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
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
=== Binary files ===
 +
Official Voipac Android files can be found in the [http://downloads.voipac.com/index.php?p=iMX6_TinyRex_Development_kit/module/software/android/Android_7_1/binaries download section].
 +
 +
=== Preparing SD card ===
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 +
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
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
==== 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.

Revision as of 14:43, 10 March 2021

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 Ultra 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

Required files needed during building:

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 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 command

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 the download 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.