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:
- Unplug all the things from the pandaboard
- Hold down the GPIO button
- Plug in the power while still holding the button
- 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.