Building Android for i.MX6

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Building Android for i.MX6

Jump to solution
3,116 Views
schmittalexandr
Contributor I

Hi everybody,

Sorry for mi English, I'm a french student and I'm not very good for write in English ... :smileysilly:

I'm trying to Cross compile Android on MCIMX6DL-SDP and I don't want to flood my computer with all branches of Android repository.

So, my question is : Is it necessary to make a repo sync command for acquire all branches of Android git ?

In the User guide documentation there are two parts which are discussing about this mistake. In effect, in the lollipop 5.1.1 doc package, The part 3.1 in Android_User's_guide.pdf explain which is possible to take Android sources in the first paragraph (page 2) and it's possible to make a Freescal git to take source of Android in the second (page 3). This is a little bit trouble to understand this part for me ... I have to execute this 2 parts or can I choose just one of this 2 solutions ?

And if this 2 parts are nedded, are there an alternative to make a repo sync for just take Android lollipop branch ?

Thank you so much !

Labels (2)
0 Kudos
1 Solution
2,029 Views
gary_bisson
Senior Contributor III

Yes you can do that although creating your own kernel might require to build some modules that must be located in system.img.

Also, the kernel is concatenated with the ramdisk into a boot.img, you can have a look at the following link to learn how to put those pieces apart and then back together:

http://forum.xda-developers.com/showthread.php?t=915808

Please mark this thread marked as resolved since the building issue has been addressed.

Regards,

Gary

View solution in original post

0 Kudos
8 Replies
2,029 Views
gary_bisson
Senior Contributor III

Hi,

Well although you're sure to be in the right folder, this isn't the correct one ;-) You need to be in the folder where you've issued the repo init and repo sync commands (~/myandroid) where kernel_imx is the kernel folder only (~/myandroid/kernel_imx).

As for the imx_L5.1.1_2.1.0-ga folder name it is a typo indeed.

Regards,

Gary

0 Kudos
2,029 Views
schmittalexandr
Contributor I

Thanks Gary !

So, if I understand correctly, the repo/sync commands are use to take all sources of Andoird. The Freescale git part is just use to take the kernel compatible with Android and finally applying patches part is use to configure the kernel for the good board ?

None of these parts is optional, all are necessary ?

0 Kudos
2,029 Views
gary_bisson
Senior Contributor III

Hi,

Not exactly:

- repo init/sync: get AOSP standard release

- git clone kernel_imx: clones the Android-specific kernel

- c_patch: patches the AOSP source code to add i.MX support

Regards,

Gary

0 Kudos
2,029 Views
schmittalexandr
Contributor I

Ok perfect !

Thank you very much because it is not very clear in docs.

So, if I just want to create my own kernel, I can build it with kernel_imx and use system.img image to have the Android files system ?

0 Kudos
2,030 Views
gary_bisson
Senior Contributor III

Yes you can do that although creating your own kernel might require to build some modules that must be located in system.img.

Also, the kernel is concatenated with the ramdisk into a boot.img, you can have a look at the following link to learn how to put those pieces apart and then back together:

http://forum.xda-developers.com/showthread.php?t=915808

Please mark this thread marked as resolved since the building issue has been addressed.

Regards,

Gary

0 Kudos
2,029 Views
schmittalexandr
Contributor I

Hi Gay,

I'm sorry but I still have a problem :smileyconfused:.

When I want to execute the c_patch function to apply all Freescale patches on kernel (section 3.2 on Android_user's_guide.pdf in Android 5.1.1 doc package), I have this error message :
"Error ! can't locate top dir of repo tree."

So were is this "top dir of repo tree" ? Because I'm sure to be in the good folder (folder : kernel_imx created with the Freescale git) and I make the "source" command before.

I have a second question.

In 3.2 section in the same Android_user's_guide, Freescale say to use this folder to apply patches

android_L5.1.1_2.1.0-ga_core_source/code/L5.1.1_2.1.0-ga/imx_L5.1.1_2.1.0-ga

But I have not this folder, when I take the source package on NXP web site*, I just have this :

android_L5.1.1_2.1.0-ga_core_source/code/L5.1.1_2.1.0-ga/

* I took this NXP source package : https://www.nxp.com/webapp/sps/download/license.jsp?colCode=IMX6_L5.1_2.1.0_AND_SOURCE_BSP&appType=f...

Thanks a lot :smileygrin:

0 Kudos
2,029 Views
gary_bisson
Senior Contributor III

Hi Alexandre,

Yes if you look at the repo sync help you will see that one option exists to fetch only the current branch declared in the manifest.xml:

$ repo sync -c

Regards,

Gary

2,029 Views
schmittalexandr
Contributor I

Hi Gary,

Thank you very much, I will try it today !

Regards.

0 Kudos