mozilla

Revision 5689 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: 5689
  • Created:
  • Creator: philikon
  • Is current revision? No
  • Comment 117 words added, 85 words removed

Revision Content

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

Backing up the vendor OS

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

Building

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

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

Unlocking the bootloader when flashing for the first time

Boot the phone directly into the bootloader by pressing the Volume Up and Power button at the same time. Connect the phone to your computer and unlock the bootloader with the following command:

$ fastboot oem unlock

On the device, confirm this step by selecting "Yes" with the Volume Up button and then pressing the Power button. The phone is now ready to be flashed with B2G. This is done with the following command:

$ 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. To just update gaia on the 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 start over from scratch -- but cloning a fresh repo and running make sync takes too much time. The following command will erase all files that aren't known to Git:

$ 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 vendor OS</h2>
<p>Unlike with other devices, Android ROMs for the Nexus S are provided by Google. It is therefore not necessary to back up this device.</p>
<h2>Building</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>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</strong></h3>
<h4>Unlocking the bootloader when flashing for the first time</h4>
<p>Boot the phone directly into the bootloader by pressing the Volume Up and Power button at the same time. Connect the phone to your computer and unlock the bootloader with the following command:</p>
<p><code>$ fastboot oem unlock</code></p>
<p>On the device, confirm this step by selecting "Yes" with the Volume Up button and then pressing the Power button. The phone is now ready to be flashed with B2G. This is done with the following command:</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. To just update gaia on the device:</p>
<p><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 start over from scratch -- but cloning a fresh repo and running <code>make sync </code>takes too much time. The following command will erase all files that aren't known to Git:<br> <br> <code>$ make mrproper</code></p>
Revert to this revision