Firefox OS for Raspberry Pi

Oleg Romashin has got a long way already with a port of the open-platform OS to the Raspberry Pi. Firefox OS is scheduled to release some time in 2013; we’re excited to see it’ll be an option for the Raspberry Pi, and it’s fascinating watching work like this progress. In the video below you’ll see Gecko runtime doing its thing, along with some WebGL animations at 60fps.

Oleg’s a Principal Engineer at Nokia. He’s made a download of the work-in-progress port to Raspberry Pi available (this is a direct download link to the tarball; there isn’t currently any other content on his site) if you want to join in the fun.


James avatar


Stuart avatar

I might be missing something, but it just looks like Linux running the Firefox browser full screen? Or is there something more to the Firefox OS?

more avatar

it is still “the work-in-progress port”, but more info for Firefox OS (Boot 2 Gecko) u can find there:

Frans Schreuder avatar

Wow, something I want to try too! Any instructions on how to install the tar.gz?

Pieter van der Eems avatar

Disclaimer: I’ve downloaded the tar.gz file but haven’t got my raspberrypi handy so haven’t tried any of this yet :-)

Install raspbian (or any other distro that you like).
Download the tar.gz file
extract it (tar -xzf )
cd b2g

Just guessing here :-)

raha00007 avatar

I dont really believe that but I will try

Elliot avatar

This could be a real monstrosity if it’s as buggy as the browser.

liz avatar

The browser only got that way after years of parallel development by a bajillion different people; back in the old days, when you only ran a couple of extensions and when the software was still quite young, it was very different. I miss the old days.

u have right but avatar

there is no bug free software, some mobile companies/telecoms want to sell phones with Firefox OS in 2013 so if they decided to do it i assumed that they got more info about this OS and it is quite good (more or less buggy like other mobile OSes) to sell phones with it

RPi is new product, it is nice that more people wants to port their software on it, all software will have bugs, and first RPi users are somekind bug hunters, i hope that in the future more of us could fix those bugs ourselves – Philip from earlier post could be one of them

Pieter van der Eems avatar

I’ve been using Firefox on Linux (ubuntu/fedora) and on android a lot lately and in my experience it crashes less then either chrome or (on android) the default android browser.

The only thing that will let it crash on my machines is the firebug addon in combination with some specific javascript frameworks like fermata.

I actualy prefer it nowadays on both my main PC’s (linux) and phone.

Georgeeee avatar

How can i install the tar.gz?

Kamil avatar

Attempting load of
Failed to create EGL config!
Segmentation fault

raha0007 avatar

Same on the old debian image

Me avatar

Sharing it as torrent.
Please keep seeding to keep it alive.


Sander avatar

Liz, it’s fascinating indeed!

Sander avatar

I get error below, although the file does exist. Running on Raspbian armhf.


pi@raspberrypi ~/kul/b2g $ ./b2g
XPCOMGlueLoad error for file /home/pi/kul/b2g/
/home/pi/kul/b2g/ cannot open shared object file: No such file or directory
Couldn’t load XPCOM.
pi@raspberrypi ~/kul/b2g $

pi@raspberrypi ~/kul/b2g $ file /home/pi/kul/b2g/
/home/pi/kul/b2g/ ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, BuildID[sha1]=0xb91ddee75d90d37d6b3c8d7dd762b3bdd2dab3b5, not stripped
pi@raspberrypi ~/kul/b2g $

some info avatar

for testers, from info on liliputing:
“If you want to take Firefox OS for a spin on a Raspberry Pi, you can download the latest build with “rasp_pi” in the name from Romashin’s website. Just note that this build is based on Debian Squeezy Linux without an X11 Window system.”

try to use Debian Squeezy or Puppy (based on Squeezy)
i myself waiting for my RPi, currently using quemu (maybe will try to install this port on my virtual machine) so can’t help now, but i’ve sent email to Oleg, maybe he (i hope) post some info here

or at least we will find some info via google when more people will try to check this port on RPi

Edy avatar

I’m getting the same error :(

endera avatar

How can i install the tar.gz?

raha0007 avatar

It doesnt work with this guide and the old debian squeeze image from april, I tried it on another SD card.
I get this:
pi@raspberrypi:~$ ls
b2g b2g-17.0a1.en-US.linux-gnueabi-arm_rasp_pi_linuxgl.tar.gz Desktop
pi@raspberrypi:~$ cd b2g
pi@raspberrypi:~/b2g$ ldd b2g => /lib/ (0x4034e000) => /lib/ (0x400a2000) => /usr/lib/ (0x400d2000) => /lib/ (0x401cb000) => /lib/ (0x40087000) => /lib/ (0x4036e000)
/lib/ (0x40052000)
pi@raspberrypi:~/b2g$ ./b2g -profile profile
LinuxGL:/build/mozdev/xulrunner/mozilla-central/widget/linuxgl/Framebuffer.cpp:GetSize :155: Error opening framebuffer device
Use usedv mouse: fd:16
Honk:/build/mozdev/xulrunner/mozilla-central/widget/linuxgl/nsWindow.cpp:InitPlatform :168: eglW:0x465b5900, sz[0,0], win:0x465b5900

Opened socket on 9999
Attempting load of
Failed to create EGL config!
Segmentation fault

Neel avatar

Hi guys does this mean that flash would work with this Firefox browser

no Flash avatar

no Flash i’m afraid (it is Adobe stuff, iOS doesen’t have and Android will be abandoned soon), i’m not the developer but FirefoxOS is not the browser (it have some similarity with ChromeOS i think) it only uses Gecko layout engine (the heart of Firefox browser and forks) to show everything on the screen (GUI) using open Internet standards like: HTML5, Javascript and CSS – developers are doing nice apps and games with those three technologies, u can try some there:

EdwinJ85 avatar

Wow, the UTAH teapot! I haven’t seen that in a while. :)

tbar avatar

Yeah! Brings back memories :D

Sander avatar

OK, about the “Couldn’t load XPCOM.” error message:

I only get that error on the Raspbian image, not on the older asbradbury image. So … possibly the b2g is not suited for Raspbian?

Alas I only have very remotely ssh-only access to the asbradbury image, so I have not yet gotten a beautiful b2g graphical output.


Sander avatar


“ldd b2g” on the older asb image leads to useful output, whereas on the Raspbian I get

pi@raspberrypi ~/kul/b2g $ ldd b2g
not a dynamic executable
pi@raspberrypi ~/kul/b2g $

… so … is that a proof of my earlier hypothesis?

Sander avatar


On asb’s Wheezy image, I can sort-of start b2g: it gives a light blue window, only partly visible (a large part is off screen, ignoring my overscan settings), and the visible part says “Try Again”. So probably some error message. Image is here:

b2g does not react to my mouse.

Furthermore: you cannot use b2g via a “ssh -X” session; b2g’s output will always appear on the physical screen.

Philipp avatar

“Furthermore: you cannot use b2g via a “ssh -X” session; b2g’s output will always appear on the physical screen.”

That’s intended. This build does not use an X Server, but renders into EGL framebuffers directly.

Regarding your mouse: try
export MOZ_MOUSE_DEV=/dev/input/xzy
before starting Firefox OS (you can “cat /dev/input/xzy” and move the mouse; if you get some output, it’s the right device)

Sander avatar

Thank you. First I need to fix the off screen of FirefoxOS. Damn CRT … ;-)

Philipp avatar

it actually draws from (0,0) to whatever fbset returns as vxres and vyres. What returns fbset on your system?

Sander avatar

OK, I have a lift off! See

Still off screen, but that must be caused by my old CRT.

The trick was the also download, unpack and use the ‘profile’ provided by Oleg.

hope that help too avatar

Oleg have posted some info how to run his port on his youtube channel:

maybe new versions of port will be distributed as SD card image, it is one man project so far so we have to be patient, i wish to have skills to help in porting but i can’t ;(

i hope that in 2013 we will be able to run FirefoxOS on RPi, i’ve bought some SD cards and waiting for all OSes which appears on RPi, plenty is not plague ;)

great avatar

I was using Firefox, but then I switched to Chrome, and then to Firefox again. I thought you should know. :)

ender avatar

*.img ???

ender avatar

can you make .iso image .?

Philipp avatar

While a lot of work remains to be done, I’m confident that we can provide some SD card images rather soon. For now, I have posted some pictures at (stay tuned for updates on the images)

Sander avatar

Hi Philipp,

You have an old CRT too, just like me. Which parameters should I tune to get the screen “on screen”, instead of partly off-screen like I have it now? See

Sander avatar

PS: here’s the fbset you requested:

pi@raspi-wheezy-armel ~ $ fbset

mode “566×422”
geometry 566 422 566 422 16
timings 0 0 0 0 0 0 0
rgba 5/11,6/5,5/0,0/16

pi@raspi-wheezy-armel ~ $

Philipp avatar

The problem is that the screen resolution is currently hardcoded to be 800×600, and since your screen is smaller it’s cut off (and the framebuffer size is wrong, but that’s another story). I’ll look into that, there is not much else you can do right now.

Sander avatar

@ Philipp:

OK, that’s clear. But AFAIK you run b2g on a CRT too … how is that possible? Different version without hard-coding?

Philipp avatar

@Sander: exactly, I adjusted the frame buffer size manually and fixed the screen size in b2g

prabu avatar

@philipp: exactly, I adjusted the frame buffer size manually and fixed the screen size in b2g

Where do you fix the screensize in the mozilla source code (ie,which file) ?

reiuyi avatar

Firefox on a machine with 256mb ram?


roger avatar

does it work with any usb hardware like video capture or even an itu t v 44+IPR=921600 v92 modem?

Vitalicus avatar

Please anybody !!!
A .iso for write from windows.I don’t have a linux installed

Dcliff avatar

I have hardcosed the display size in shell.xul and screen.js as 1680×1050. If I run ./b2g it will runn fullscreen, but when I put a website up with “B2G_HOMESCREEN” it only shows up 320×480, even if I pass –screen=1680×1050 arg. Can anyone point me in the right direction?

ndm avatar

Is there ANY news on this? It sounds really neat, and the article said 2014…

Searched by tag on the archives and only got this. Any news? I want to test the latest version.

Comments are closed