Pandaboard

  • Revision slug: Mozilla/Firefox_OS/Pandaboard
  • Revision title: Pandaboard
  • Revision id: 363633
  • Created:
  • Creator: ever
  • Is current revision? Yes
  • Comment Make a bit clearer things that confused me

Revision Content

This is a guide to setting up Firefox OS on a PandaBoard. The PandaBoard is a low-cost OMAP 4 based development board for developing mobile operating systems.

These instructions assume you have an SD Card with at least 4 GB of capacity available.

Format the SD card

Format the SD card by following this guide

USB communication

To enable usb communication with the pandaboard, follow these steps. For B2G, you're safe to use "0666" as your file mode.

Verify that the pandaboard is accessible by plugging it in to your computer using USB, and running:

lsusb

If you see something from Texas Instruments, then you found your pandaboard! If not, I found luck by unplugging all the wires, and only connecting the pandaboard to USB.

Building and flashing

After configuring for the pandaboard, we now pull in Negatus. This is an agent that runs on the device and can help automate/debug it. Negatus will build itself automatically after you run ./build.sh, but you need to install libnspr(apt-get install libnspr4-dev). After building the image, then tricky part is flashing it onto your pandaboard.

Try to follow instructions here, up to and including 'Initial setup, part 3'. You can skip 'Initial setup, part 1' which has been done during the build step. After completing 'Initial setup, part 3' return here.

Now you're free to run the ./flash.sh command, and hopefully all will be well. If the flash.sh script tries to erase the userdata partition, remove that line. It's a known issue listed in the instructions.

After flashing is complete you may need to manually reboot the machine by unplugging the usb and power cords and plugging them back in (power cord should be plugged in first).

Here are the work arounds for known issues:

"waiting for OMAP4XXX..." when trying to use usbboot

If you see this message, then unplug all cables from the pandaboard. Only plug in the pandaboard via USB. Do not connect power. Try now, and run usbboot as sudo.

Fastboot errors while flashing

If you're having trouble running commands in fastboot, I found success after running them with sudo (ie: sudo <fastboot command...>)

Also, if you have trouble getting your pandaboard into fastboot mode (ie: no devices listed if you do a fastboot devices call), then you can:

  1. Unplug all the things from the pandaboard
  2. Hold down the GPIO button
  3. Plug in the power while still holding the button
  4. Watch the solid status light, and once the light starts to flash, let go of the GPIO button

This will put the pandaboard into fastboot mode.

Can't connect to adb

If you see the device in lsusb, but not in adb/fastboot devices and the lights are off, then remove the power source and plug it back in. If the lights are on, you may need to wait a while (30seconds max) for it to be registered on adb.

Sometimes, flashing will claim to be successful, but it isn't. Reflash the pandaboard (ie: run ./flash.sh) and try again. I recommend plugging in power first, and then plugging in the usb cable

If you get on adb devices "??????????? no permision", even as root, check the section "Configuring USB Access" on this site and correct or add the right udev rules. Don't forget to restart the udev service after the changes.

Revision Source

<p>This is a guide to setting up Firefox OS on a <a href="http://pandaboard.org/" title="http://pandaboard.org/">PandaBoard</a>. The PandaBoard is a low-cost OMAP 4 based development board for developing mobile operating systems.</p>
<p>These instructions assume you have an SD Card with at least 4 GB of capacity available.</p>
<h2 id="Format_the_SD_card">Format the SD card</h2>
<p>Format the SD card by following this <a href="http://omappedia.org/wiki/Minimal-FS_SD_Configuration" title="http://omappedia.org/wiki/Minimal-FS_SD_Configuration">guide</a></p>
<h2 id="USB_communication">USB communication</h2>
<p>To enable usb communication with the pandaboard, follow these <a href="http://source.android.com/source/initializing.html#configuring-usb-access" title="http://source.android.com/source/initializing.html">steps</a>. For B2G, you're safe to use "0666" as your file mode.</p>
<p>Verify that the pandaboard is accessible by plugging it in to your computer using USB, and running:</p>
<pre>
lsusb</pre>
<p>If you see something from Texas Instruments, then you found your pandaboard! If not, I found luck by unplugging all the wires, and only connecting the pandaboard to USB.</p>
<h2 id="Building_and_flashing">Building and flashing</h2>
<p>After <a href="https://developer-new.mozilla.org/en/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build" title="https://developer-new.mozilla.org/en/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build">configuring</a> for the pandaboard, we now pull in <a href="https://github.com/mozilla/Negatus" title="https://github.com/mozilla/Negatus">Negatus</a>. This is an agent that runs on the device and can help automate/debug it. Negatus will build itself automatically after you run ./build.sh, but you need to install libnspr(<code>apt-get install libnspr4-dev). </code>After <a href="https://developer-new.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko" title="https://developer-new.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko">building</a> the image, then tricky part is flashing it onto your pandaboard.</p>
<p>Try to follow instructions <a href="https://github.com/mozilla-b2g/android-device-panda" title="https://github.com/mozilla-b2g/android-device-panda">here</a>, up to and including 'Initial setup, part 3'. You can skip 'Initial setup, part 1' which has been done during the build step. After completing 'Initial setup, part 3' return here.</p>
<p>Now you're free to run the <code>./flash.sh</code> command, and hopefully all will be well. If the <code>flash.sh</code> script tries to erase the userdata partition, remove that line. It's a known issue listed in the <a href="https://github.com/mozilla-b2g/android-device-panda" title="https://github.com/mozilla-b2g/android-device-panda">instructions</a>.</p>
<p>After flashing is complete you may need to manually reboot the machine by unplugging the usb and power cords and plugging them back in (power cord should be plugged in first).</p>
<p>Here are the work arounds for known issues:</p>
<h3 id=".22waiting_for_OMAP4XXX....22_when_trying_to_use_usbboot">"waiting for OMAP4XXX..." when trying to use usbboot</h3>
<p>If you see this message, then unplug all cables from the pandaboard. Only plug in the pandaboard via USB. Do not connect power. Try now, and run <code>usbboot</code> as <code>sudo</code>.</p>
<h3 id="Fastboot_errors_while_flashing">Fastboot errors while flashing</h3>
<p>If you're having trouble running commands in fastboot, I found success after running them with <code>sudo</code> (ie: <code>sudo &lt;fastboot command...&gt;</code>)</p>
<p>Also, if you have trouble getting your pandaboard into fastboot mode (ie: no devices listed if you do a <code>fastboot devices</code> call), then you can:</p>
<ol>
  <li>Unplug all the things from the pandaboard</li>
  <li>Hold down the GPIO button</li>
  <li>Plug in the power while still holding the button</li>
  <li>Watch the solid status light, and once the light starts to flash, let go of the GPIO button</li>
</ol>
<p>This will put the pandaboard into fastboot mode.</p>
<h3 id="Can't_connect_to_adb">Can't connect to adb</h3>
<p>If you see the device in lsusb, but not in adb/fastboot devices and the lights are off, then remove the power source and plug it back in. If the lights are on, you may need to wait a while (30seconds max) for it to be registered on adb.</p>
<p>Sometimes, flashing will claim to be successful, but it isn't. Reflash the pandaboard (ie: run <code>./flash.sh</code>) and try again. I recommend plugging in power first, and then plugging in the usb cable</p>
<p>If you get on adb devices "??????????? no permision", even as root, check the section "Configuring USB Access" on this <a href="http://source.android.com/source/initializing.html" title="http://source.android.com/source/initializing.html">site</a> and correct or add the right udev rules. Don't forget to restart the udev service after the changes.</p>
Revert to this revision