Difference between revisions of "IoTGateway/BSP/Android/Android BSP User Guide 6.0.1 2.1.0"
Line 20: | Line 20: | ||
=== <span style="font-family:times new roman,times,serif;"><span style="font-size:medium;">Getting Android source code (Android 6.0.1_2.1.0/kernel Yocto-2.0 /U-Boot Yocto-2.0)</span></span> === | === <span style="font-family:times new roman,times,serif;"><span style="font-size:medium;">Getting Android source code (Android 6.0.1_2.1.0/kernel Yocto-2.0 /U-Boot Yocto-2.0)</span></span> === | ||
− | < | + | |
− | $ mkdir bin | + | <small>$ mkdir myandroid |
− | $ cd myandroid/ | + | </small> |
− | $ curl https://storage.googleapis.com/git-repo-downloads/repo https://storage.googleapis.com/git-repo-downloads/repo > ../bin/repo | + | |
− | $ chmod a+x ../bin/repo | + | <small>$ mkdir bin $ cd myandroid/ $ curl [https://storage.googleapis.com/git-repo-downloads/repo https://storage.googleapis.com/git-repo-downloads/repo] [https://storage.googleapis.com/git-repo-downloads/repo https://storage.googleapis.com/git-repo-downloads/repo] > ../bin/repo $ chmod a+x ../bin/repo $ ../bin/repo init -u [https://github.com/ADVANTECH-Corp/android-manifest.git https://github.com/ADVANTECH-Corp/android-manifest.git] -b m6.0.1_2.1.0-ga $ ../bin/repo sync</small> |
− | $ ../bin/repo init -u https://github.com/ADVANTECH-Corp/android-manifest.git -b m6.0.1_2.1.0-ga | ||
− | $ ../bin/repo sync</ | ||
<span style="font-family:times new roman,times,serif;"><span style="font-size:small;">Remove the .repo and .git file</span></span> | <span style="font-family:times new roman,times,serif;"><span style="font-size:small;">Remove the .repo and .git file</span></span> | ||
− | < | + | |
− | $ find . -name .git | xargs rm -rf </ | + | <small>$ find . -name .repo | xargs rm -rf |
+ | </small> | ||
+ | |||
+ | <small>$ find . -name .git | xargs rm -rf</small> | ||
<span style="font-size:small;"><span style="font-family:times new roman,times,serif;">Patch to Android M6.0.1_2.1.0</span></span> | <span style="font-size:small;"><span style="font-family:times new roman,times,serif;">Patch to Android M6.0.1_2.1.0</span></span> | ||
− | < | + | |
− | $ patch -p1 <../../../patches_android_6.0.1/6001-Uboot_Yocto_4.1.15_1.2.0-to-Android_M6.0.1_2.1.0.patch | + | <small>$ cd myandroid/bootable/bootloader/uboot-imx/ |
− | $ cd myandroid/kernel_imx/ | + | </small> |
− | $ patch -p1 <../patches_android_6.0.1/6001-Linux_Yocto_4.1.15_1.2.0-to-Android_M6.0.1_2.1.0.patch | + | |
− | $ cd myandroid/ | + | <small>$ patch -p1 <../../../patches_android_6.0.1/6001-Uboot_Yocto_4.1.15_1.2.0-to-Android_M6.0.1_2.1.0.patch $ cd myandroid/kernel_imx/ $ patch -p1 <../patches_android_6.0.1/6001-Linux_Yocto_4.1.15_1.2.0-to-Android_M6.0.1_2.1.0.patch $ cd myandroid/</small> |
− | </ | ||
=== <span style="font-family:times new roman,times,serif;">Building Android 6.0.1_2.1.0 image for SD card</span> === | === <span style="font-family:times new roman,times,serif;">Building Android 6.0.1_2.1.0 image for SD card</span> === | ||
Line 45: | Line 45: | ||
<span style="font-family:times new roman,times,serif;">It is consist of the model name followed by "AB" plus version number, for example, 4410ABV2080 which "4410" stands for RSB-4410, "AB" is acronym of Android BSP, "V2080" stands for Version 2.080; other model names list below:</span> | <span style="font-family:times new roman,times,serif;">It is consist of the model name followed by "AB" plus version number, for example, 4410ABV2080 which "4410" stands for RSB-4410, "AB" is acronym of Android BSP, "V2080" stands for Version 2.080; other model names list below:</span> | ||
− | < | + | |
+ | <small> "3420" stands for ROM-3420 | ||
"5420" stands for ROM-5420 | "5420" stands for ROM-5420 | ||
"7420" stands for ROM-7420 | "7420" stands for ROM-7420 | ||
"7421" stands for ROM-7421 | "7421" stands for ROM-7421 | ||
"DS31" stands for UBC-DS31 | "DS31" stands for UBC-DS31 | ||
− | "U220" stands for UBC-220</ | + | "U220" stands for UBC-220</small> |
<span style="font-family:times new roman,times,serif;">Build Instructions</span> | <span style="font-family:times new roman,times,serif;">Build Instructions</span> | ||
<span style="font-family:times new roman,times,serif;">To build boot loader</span> | <span style="font-family:times new roman,times,serif;">To build boot loader</span> | ||
− | |||
− | |||
<span style="font-family:times new roman,times,serif;">Perform the following command in terminal console</span> | <span style="font-family:times new roman,times,serif;">Perform the following command in terminal console</span> | ||
− | + | <small>$ make -j4 bootloader</small> | |
:<span style="font-family:times new roman,times,serif;">The two files, u-boot_crc.bin & u-boot_crc.bin.crc, will be located in directory, ./out/target/product/product_name</span> | :<span style="font-family:times new roman,times,serif;">The two files, u-boot_crc.bin & u-boot_crc.bin.crc, will be located in directory, ./out/target/product/product_name</span> | ||
Line 68: | Line 67: | ||
:<span style="font-family:times new roman,times,serif;">Perform the following command in terminal console</span> | :<span style="font-family:times new roman,times,serif;">Perform the following command in terminal console</span> | ||
:<span style="font-family:times new roman,times,serif;">to do build bootimage</span><br/> | :<span style="font-family:times new roman,times,serif;">to do build bootimage</span><br/> | ||
− | + | ||
+ | <small>$ make -j4 bootimage</small> | ||
<span style="font-family:times new roman,times,serif;">To build system image</span> | <span style="font-family:times new roman,times,serif;">To build system image</span> | ||
Line 74: | Line 74: | ||
:<span style="font-family:times new roman,times,serif;">Perform the following command in terminal console</span> | :<span style="font-family:times new roman,times,serif;">Perform the following command in terminal console</span> | ||
:<span style="font-family:times new roman,times,serif;">to do build systemimage</span><br/> | :<span style="font-family:times new roman,times,serif;">to do build systemimage</span><br/> | ||
− | |||
− | + | <small>$ make -j4 systemimage</small> | |
− | + | <small>$ out/host/linux-x86/bin/simg2img out/target/product/$PRODUCT/system.img out/target/product/$PRODUCT/system_raw.img | |
+ | $ mv out/target/product/$PRODUCT/system_raw.img out/target/product/$PRODUCT/system.img</small> | ||
<span style="font-size:medium;"><span style="font-family:times new roman,times,serif;"><span style="color:#B22222;">simg2img is a tool that converts a sparse system image to a raw system image on a Linux host PC and is located in myandroid/out/host/linux-x86/bin/simg2img.</span></span></span> | <span style="font-size:medium;"><span style="font-family:times new roman,times,serif;"><span style="color:#B22222;">simg2img is a tool that converts a sparse system image to a raw system image on a Linux host PC and is located in myandroid/out/host/linux-x86/bin/simg2img.</span></span></span> |
Revision as of 02:38, 9 December 2016
Contents
Android 6.0.1_2.1.0
Setup Ubuntu host computer
Install Ubuntu 14.04 LTS 64bit. You should have about 80 Gbytes of free disk space for building images.
Go to http://releases.ubuntu.com/14.04/ and download 64-bit PC (AMD64) desktop image: http://releases.ubuntu.com/14.04/ubuntu-14.04.3-desktop-amd64.iso for the installation.
Install docker and Use docker
Please use docker environment to compiler Android 6.0.1_2.1.0
Android 6.0.1_2.1.0 Docker
Image Repository : advrisc/u14.04-imx6abv4
Image Tag : 20160825
Reference: http://ess-wiki.advantech.com.tw/view/IoTGateway/Docker
Getting Android source code (Android 6.0.1_2.1.0/kernel Yocto-2.0 /U-Boot Yocto-2.0)
$ mkdir myandroid
$ mkdir bin $ cd myandroid/ $ curl https://storage.googleapis.com/git-repo-downloads/repo https://storage.googleapis.com/git-repo-downloads/repo > ../bin/repo $ chmod a+x ../bin/repo $ ../bin/repo init -u https://github.com/ADVANTECH-Corp/android-manifest.git -b m6.0.1_2.1.0-ga $ ../bin/repo sync
Remove the .repo and .git file
$ find . -name .repo | xargs rm -rf
$ find . -name .git | xargs rm -rf
Patch to Android M6.0.1_2.1.0
$ cd myandroid/bootable/bootloader/uboot-imx/
$ patch -p1 <../../../patches_android_6.0.1/6001-Uboot_Yocto_4.1.15_1.2.0-to-Android_M6.0.1_2.1.0.patch $ cd myandroid/kernel_imx/ $ patch -p1 <../patches_android_6.0.1/6001-Linux_Yocto_4.1.15_1.2.0-to-Android_M6.0.1_2.1.0.patch $ cd myandroid/
Building Android 6.0.1_2.1.0 image for SD card
Naming Rule
It is consist of the model name followed by "AB" plus version number, for example, 4410ABV2080 which "4410" stands for RSB-4410, "AB" is acronym of Android BSP, "V2080" stands for Version 2.080; other model names list below:
"3420" stands for ROM-3420 "5420" stands for ROM-5420 "7420" stands for ROM-7420 "7421" stands for ROM-7421 "DS31" stands for UBC-DS31 "U220" stands for UBC-220
Build Instructions
To build boot loader
Perform the following command in terminal console
$ make -j4 bootloader
- The two files, u-boot_crc.bin & u-boot_crc.bin.crc, will be located in directory, ./out/target/product/product_name
To build boot image
- Perform the following command in terminal console
- to do build bootimage
$ make -j4 bootimage
To build system image
- Perform the following command in terminal console
- to do build systemimage
$ make -j4 systemimage
$ out/host/linux-x86/bin/simg2img out/target/product/$PRODUCT/system.img out/target/product/$PRODUCT/system_raw.img $ mv out/target/product/$PRODUCT/system_raw.img out/target/product/$PRODUCT/system.img
simg2img is a tool that converts a sparse system image to a raw system image on a Linux host PC and is located in myandroid/out/host/linux-x86/bin/simg2img.