<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Recommendations on setting up a build environment for android development among multiple developers? in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286634#M33863</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You are welcome Huang. It's nice to know that the threads I create around here are useful to others as well. :smileyhappy:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Smiling,&lt;/P&gt;&lt;P&gt;Abraham V.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 12 Nov 2013 12:07:20 GMT</pubDate>
    <dc:creator>abraham_v</dc:creator>
    <dc:date>2013-11-12T12:07:20Z</dc:date>
    <item>
      <title>Recommendations on setting up a build environment for android development among multiple developers?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286627#M33856</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm setting up a team for android development based on the iMX6 quad processor. We have the sabresd reference board with us. Following the instructions in the file "Android_User_Guide.pdf" I was able to build (from scratch) the u-boot image, the linux kernel, the android system and successfully load it on our reference board. For version control, the team will be using GIT. My plan is to divide the team into different types - u-boot developers, kernel developers and android developers. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The u-boot developers need only have access to the source code under /u-boot. The output of their work will be the "u-boot.bin" file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The kernel developers should have access to the /kernel-imx source directory. The output of their work will be the "boot.img" file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The android developers should only have access to the android sources. They should NOT have access to either the sources in /u-boot or /kernel-imx. Instead, they should have pre-built binaries for whatever u-boot or kernel files they need. Their output will be the "system.img" and "recovery.img" files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then the testing team will take these 4 files, use the MFG Tool to load the images to the eMMC area of the board and do whatever is needed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My problem is that I have no idea how to split the source code into separate stand-alone sections. The "Android_User_Guide.pdf" documentation assumes that every developer has access to the top-level "myandroid" folder. The reason why I want to split the code is because if a developer is ONLY working in /u-boot or /kernel-imx and they try running "git status", it takes too long to respond. That and the fact that its overly cumbersome for a u-boot developer to be lugging around 10+GB of android source code he/she will NOT be working on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any suggestions on how this can be accomplished?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I *think* the /u-boot folder can be made into a repository of its own and the cross-compiler tools distributed with it. Running "make" generates the 'u-boot.img' file, so it should work (in theory). But I'm not sure how to do the same with the /kernel-imx folder. Even if that is spun out, all I can do stand-alone is generate the "uImage" file. I'm not sure how to convert this into the "boot.img" file without using "source build/envsetup.sh" and "lunch sabresd_6dq-user". And then there is Freescale's android build system. Assuming that I have the 'u-boot.img' and 'boot.img' files pre-built, how do I configure it to work with them? By default, it seems to be compiling u-boot and linux kernel.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Jul 2013 12:43:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286627#M33856</guid>
      <dc:creator>abraham_v</dc:creator>
      <dc:date>2013-07-23T12:43:08Z</dc:date>
    </item>
    <item>
      <title>Re: Recommendations on setting up a build environment for android development among multiple developers?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286628#M33857</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is a possible scenario:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have local repos on your server, and every developer should 'git remote add local &amp;lt;url&amp;gt;' where the &amp;lt;url&amp;gt; are the repos located on your servers (repos are cloned from the original ones, and these will diverge locally). U-boot and kernel developers should only on the corresponding folders (myandroid/bootable/bootloader/uboot-imx and&amp;nbsp; myandroid/kernel_imx), typing git commands should be fast. Developers should send patches to a mailing list (git format-patch &amp;amp;&amp;amp; git send-email). The maintainer of the corresponding repo should merge those patches and then everyone can 'git fetch local' again. This is the best scenario I can see.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Leo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Jul 2013 18:42:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286628#M33857</guid>
      <dc:creator>LeonardoSandova</dc:creator>
      <dc:date>2013-07-23T18:42:21Z</dc:date>
    </item>
    <item>
      <title>Re: Recommendations on setting up a build environment for android development among multiple developers?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286629#M33858</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your reply &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/LeonardoSandovalGonzalez"&gt;LeonardoSandovalGonzalez&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I considered that. It might work for the u-boot developers, but do you have any idea how the kernel developers would be able to generate the "boot.bin" image file from just the /kernel-imx directory? Here's the scenario as I see it,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For u-boot developers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The cross-compiler toolchain is located in ~/arm-eabi-4.6/bin/*&lt;/P&gt;&lt;P&gt;The u-boot source is located in ~/u-boot&lt;/P&gt;&lt;P&gt;The android sources are NOT anywhere on the system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To generate the "u-boot.bin" file for the sabresd reference board they need to do the following steps,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;cd ~/u-boot&lt;/P&gt;&lt;P&gt;&amp;gt;export ARCH=arm&lt;/P&gt;&lt;P&gt;&amp;gt;export CROSS_COMPILE=~/arm-eabi-4.6/bin/arm-eabi-&lt;/P&gt;&lt;P&gt;&amp;gt;make mx6q_sabresd_android_config&lt;/P&gt;&lt;P&gt;&amp;gt;make&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That should work without problems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now for the kernel developers here is how their system would look like,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The cross-compiler toolchain is located in ~/arm-eabi-4.6/bin/*&lt;/P&gt;&lt;P&gt;The linux kernel (for android) is located in ~/kernel_imx&lt;/P&gt;&lt;P&gt;The u-boot source is located in ~/u-boot&lt;/P&gt;&lt;P&gt;The android sources are NOT anywhere on the system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The build instructions would go like this (basing this off the "&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;Android_User_Guide.pdf&lt;/SPAN&gt;" file),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;cd ~/u-boot&lt;/P&gt;&lt;P&gt;&amp;gt;export ARCH=arm&lt;/P&gt;&lt;P&gt;&amp;gt;export CROSS_COMPILE=~/arm-eabi-4.6/bin/arm-eabi-&lt;/P&gt;&lt;P&gt;&amp;gt;make mx6q_sabresd_android_config&lt;/P&gt;&lt;P&gt;&amp;gt;make&lt;/P&gt;&lt;P&gt;&amp;gt;cd ~/kernel_imx&lt;/P&gt;&lt;P&gt;&amp;gt;export PATH=~/u-boot/tools:$PATH&lt;/P&gt;&lt;P&gt;&amp;gt;make imx6_android_defconfig&lt;/P&gt;&lt;P&gt;&amp;gt;make uImage&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When this is over, they will have "uImage" file located in "~/kernel_imx/arch/arm/boot/". But how do I generate the "boot.img" file at this point? According to "Android_User_Guide.pdf" I need to do this,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;cd ~/myandroid&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #### A non-existent directory on the system&lt;/P&gt;&lt;P&gt;&amp;gt;source build/envsetup.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #### Again; it does NOT exist on the kernel developers system&lt;/P&gt;&lt;P&gt;&amp;gt;lunch sabresd_6dq-user&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #### Not sure how this would even run&lt;/P&gt;&lt;P&gt;&amp;gt;make bootimage&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #### How do I do this WITHOUT the above steps?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any suggestions?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Jul 2013 01:25:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286629#M33858</guid>
      <dc:creator>abraham_v</dc:creator>
      <dc:date>2013-07-24T01:25:25Z</dc:date>
    </item>
    <item>
      <title>Re: Recommendations on setting up a build environment for android development among multiple developers?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286630#M33859</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No idea. Kernel developers may need the whole android folder. I am not an Android expert, so I may be wrong.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Leo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Jul 2013 17:20:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286630#M33859</guid>
      <dc:creator>LeonardoSandova</dc:creator>
      <dc:date>2013-07-24T17:20:07Z</dc:date>
    </item>
    <item>
      <title>Re: Recommendations on setting up a build environment for android development among multiple developers?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286631#M33860</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I was worried about that. If I weren't time constrained, I would try digging through the build files but for now, at least I've spun off the u-boot folks. Thanks Leo!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jul 2013 08:41:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286631#M33860</guid>
      <dc:creator>abraham_v</dc:creator>
      <dc:date>2013-07-25T08:41:15Z</dc:date>
    </item>
    <item>
      <title>Re: Recommendations on setting up a build environment for android development among multiple developers?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286632#M33861</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think my earlier post explained how I spun out the u-boot developers. It took me some debugging (mostly stepping over the Makefile outputs) but I *think* I have a script (or an idea) of how the kernel folks can be split off as well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First off - they will have to build the entire android system at least once. This will create the top-level /out directory. Then, if they move into the "kernel-imx" folder and run,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;../out/host/linux-x86/bin/mkbootimg --kernel arch/arm/boot/zImage --ramdisk ../out/target/product/sabresd_6dq/ramdisk.img --cmdline "console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:off video=mxcfb2:off fbmem=10M fb0base=0x27b00000 vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=freescale maxcpus=2" --base 0x10800000&amp;nbsp; --output boot.img&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It should generate the boot.img file. The nice part of using this is that it hardly takes 10 seconds to generate 'boot.img'. The other approach I was using took about 10 mins (it was based on running the source and lunch commands).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Overall, I think the process can be refined further. Possibly by copying over the mkbootimg utility somewhere and having a pre-packaged binary of 'ramdisk.img' as part of the source. It should be possible to automate the creation of ramdisk.img as well, but I'm not sure I have time to spare investigating it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope no real android system developer comes here and sees this. They'll probably be horrified at my (current) non-understanding of the build process. ;P&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Abraham V.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jul 2013 04:16:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286632#M33861</guid>
      <dc:creator>abraham_v</dc:creator>
      <dc:date>2013-07-30T04:16:56Z</dc:date>
    </item>
    <item>
      <title>Re: Recommendations on setting up a build environment for android development among multiple developers?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286633#M33862</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Great work! &lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;Abraham &lt;/SPAN&gt;, using your script, save me lots of time to generate boot.img,&amp;nbsp; your script let me debug imx6's kernel just like imx53, thanks ~:smileywink:&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Nov 2013 11:38:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286633#M33862</guid>
      <dc:creator>tootzoe</dc:creator>
      <dc:date>2013-11-12T11:38:54Z</dc:date>
    </item>
    <item>
      <title>Re: Recommendations on setting up a build environment for android development among multiple developers?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286634#M33863</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You are welcome Huang. It's nice to know that the threads I create around here are useful to others as well. :smileyhappy:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Smiling,&lt;/P&gt;&lt;P&gt;Abraham V.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Nov 2013 12:07:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Recommendations-on-setting-up-a-build-environment-for-android/m-p/286634#M33863</guid>
      <dc:creator>abraham_v</dc:creator>
      <dc:date>2013-11-12T12:07:20Z</dc:date>
    </item>
  </channel>
</rss>

