mozilla

Revision 5688 of Building B2G for Samsung Nexus S

  • Revision slug: Mozilla/Boot_to_Gecko/Building_B2G_for_Samsung_Nexus_S
  • Revision title: Building B2G for Samsung Nexus S
  • Revision id: 5688
  • Created:
  • Creator: philikon
  • Is current revision? No
  • Comment page created, 275 words added

Revision Content

It is assumed you've already setup your build environment and cloned the repositories.

Backing up the native OS

Unlike with other devices, ROMs for the Nexus S are provided by Google. It is therefore not necessary to back up your device.

Building for Samsung Nexus S

Do NOT run any of the following commands as root!  From the directory to where you've cloned your git repositories:

$ cd B2G
$ make sync

Important: Do not proceed until the adb pull commands from the previous section have completed.  You can run the make sync command in parallel with adb pull, but the make config-galaxy-s2 command below kills the adb server, which will cause the pulls to abort prematurely.

Next, you will setup your build directory with the binary blobs necessary for building for your device. This step will download the blobs from Google and clone the ICS version of Gonk?

$ make config-nexuss-ics

Now, build gonk backend and the system itself:
$ make gonk
$ make

 

Flashing to Samsung Nexus S

The following step reboots the phone into the bootloader and

$ make flash-only

Building and flashing Gaia frontend

Assuming you're in the root of B2G repo, pull files from the remote repo and merge them to your local repo.  Next install gaia (by copying files from remote repo to your device):
$ cd gaia
$ git pull origin master
$ cd ..
$ make install-gaia
$ make kill-b2g

Building and flashing Gecko only

$ make install-gecko
$ make kill-b2g

Forcing GIT repo into clean state

Sometimes it's necessary to do this -- but cloning a fresh repo and running make sync takes too much time

$ make mrproper

Revision Source

<p>It is assumed you've already <a href="Setting_Up_Boot_to_Gecko_Build_Environment" rel="internal" title="https://developer.mozilla.org/en/Mozilla/Boot_to_Gecko/Setting_Up_Boot_to_Gecko_Build_Environment">setup your build environment and cloned the repositories</a>.</p>
<h2>Backing up the native OS</h2>
<p>Unlike with other devices, ROMs for the Nexus S are provided by Google. It is therefore not necessary to back up your device.</p>
<h2>Building for Samsung Nexus S</h2>
<p style="margin-left: ;">Do NOT run any of the following commands as root!  From the directory to where you've cloned your git repositories:<br> <br> <code>$ cd B2G<br> $ make sync</code></p>
<p style="margin-left: 40px;"><strong>Important:</strong> Do not proceed until the <code>adb pull</code> commands from the previous section have completed.  You can run the <code>make sync</code> command in parallel with <code>adb pull</code>, but the <code>make config-galaxy-s2</code> command below kills the <code>adb</code> server, which will cause the pulls to abort prematurely.</p>
<p>Next, you will setup your build directory with the binary blobs necessary for building for your device. This step will download the blobs from Google and clone the ICS version of Gonk?</p>
<p><code>$ </code><code>make config-nexuss-ics</code></p>
<p>Now, build gonk backend and the system itself:<br> <code>$ make gonk<br> $ make</code></p>
<p><a class="external" href="http://4.bp.blogspot.com/-IaDmq-AlC_I/TydgNEkHvAI/AAAAAAAAAMs/G2DJfdUkIts/s320/Make.tiff"><img alt="" class="default" src="http://4.bp.blogspot.com/-IaDmq-AlC_I/TydgNEkHvAI/AAAAAAAAAMs/G2DJfdUkIts/s320/Make.tiff"></a></p>
<p> </p>
<h3><strong>Flashing to Samsung Nexus S</strong></h3>
<p>The following step reboots the phone into the bootloader and</p>
<p><code>$ make flash-only<br> </code></p>
<h4>Building and flashing Gaia frontend</h4>
<p>Assuming you're in the root of B2G repo, pull files from the remote repo and merge them to your local repo.  Next install gaia (by copying files from remote repo to your device):<br> <code>$ cd gaia</code><br> <code>$ git pull origin master</code><br> <code>$ cd ..</code><br> <code>$ make install-gaia</code><br> <code>$ make kill-b2g</code></p>
<h4>Building and flashing Gecko only</h4>
<p><span style='font-family: "Courier New",Courier,monospace;'>$ make install-gecko</span><br> <span style='font-family: "Courier New",Courier,monospace;'>$ make kill-b2g</span></p>
<h4>Forcing GIT repo into clean state</h4>
<p>Sometimes it's necessary to do this -- but cloning a fresh repo and running <code>make sync </code>takes too much time<br> <br> <code>$ make mrproper</code></p>
Revert to this revision