Compiler Firefox OS en version desktop sur une Ubuntu

Billet

J'ai installé hier Firefox OS en version Desktop sur mon Ubuntu (12.04) afin de jouer avec.

Voici les étapes qui marchent chez moi :

Tout d'abord, il vous faut installer les paquets nécessaire à la compilation et bien sûr les outils de gestionnaire de version nécessaires :

sudo apt-get install mercurial g++ make autoconf2.13 yasm libgtk2.0-dev libglib2.0-dev libdbus-1-dev libdbus-glib-1-dev libasound2-dev libcurl4-openssl-dev libiw-dev libxt-dev mesa-common-dev ccache git

Ensuite, on va créer un dossier FirefoxOS dans son /home :
mkdir ~/FirefoxOS/

Puis on va ce dossier :
cd ~/FirefoxOS/

Ensuite on récupère le code source de Firefox OS Bêta :
hg clone http://hg.mozilla.org/releases/mozilla-beta

(ça créera un dossier ~/FirefoxOS/mozilla-beta)

Puis on récupère le code source de Gaia, l'interface graphique en HTML5 de FirefoxOS :
git clone https://github.com/mozilla-b2g/gaia/

(ça créera un dossier ~/FirefoxOS/gaia)

Les deux étapes ci-dessus prennent du temps, surtout si vous avez une petite connexion.

Une fois ceci fait, il vous faut créer un fichier .mozconfig (notez bien le point avant mozconfig) que l'on mettra ici:
~/FirefoxOS/mozilla-beta/.mozconfig

Voici le contenu de mon .mozconfig :

CONCURRENCY=$(( `grep processor /proc/cpuinfo | wc -l` + 2 ))
mk_add_options MOZ_MAKE_FLAGS="-j$CONCURRENCY"
mk_add_options MOZ_OBJDIR=../build
# Use ccache
ac_add_options --with-ccache=/usr/bin/ccache
ac_add_options --enable-application=b2g
ac_add_options --disable-libjpeg-turbo
# This option is required if you want to be able to run Gaia's tests
# ac_add_options --enable-tests
# turn on mozTelephony/mozSms interfaces
# Only turn this line on if you actually have a dev phone
# you want to forward to. If you get crashes at startup,
# make sure this line is commented.
# ac_add_options --enable-b2g-ril

Une fois ceci fait, on va compiler Firefox OS, attention, ça prend du temps ! Plus de deux heures sur mon petit portable.
cd ~/FirefoxOS/mozilla-beta
make -f client.mk


La compilation créera un dossier ~/FirefoxOS/build/ et votre binaire se trouve là :
~/FirefoxOS/build/dist/bin/b2g

Une fois ceci fait, on va créer un profil Gaia :
cd ~/FirefoxOS/gaia
make

Une fois le profil créé, vous pouvez lancer Firefox OS avec cette commande :
~/FirefoxOS/build/dist/bin/b2g -profile ~/FirefoxOS/gaia/profile


et voilà le résultat :
Firefox OS sur Ubuntu

Si vous voulez plus d'informations, il y en a plein ici en anglais :
https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS

N'oubliez pas non plus que Geckozone (la section forums de MozFr) a ouvert récemment un forum pour FirefoxOS :
Forum Firefox OS en français

Et vous pouvez discuter avec des développeurs et bénévoles Mozilla francophones dans le salon IRC #devfr sur irc.mozilla.org

MODIFICATION : 10h40, j'ai modifié l'url du dépôt mozilla-beta, je l'avais tapée de mémoire et évidemment ma mémoire était défaillante, désolé :)
MODIFICATION: 12h11,décidemment c'est la série, la création de profil gaia se fait évidemment après un cd dans le dossier gaia et pas dans le dossier mozilla-beta, corrigé aussi :)
MODIFICATION: 05/12/2012,ajout de ccache et git dans les dépendences nécessaires

Commentaires

1. Le mardi 4 décembre 2012, 10:25 par Pierre

Bonjour,

merci pour ce petit tutorial en français !

La commande hg clone http://hg.mozilla.org/mozilla-beta ne fonctionne pas car le repository mozilla-beta n'existe pas... Faut-il plutôt utiliser mozilla-central ?

2. Le mardi 4 décembre 2012, 10:32 par Axel Hecht

http://hg.mozilla.org/releases/mozi... note the top-level 'releases' directory.

3. Le mardi 4 décembre 2012, 10:42 par Pascal

@ Axel
oops, I typed from memory and of course my memory is not good :) fixed, thanks

4. Le mardi 4 décembre 2012, 10:44 par Pascal

@Pierre

Nan, c'est bien mozilla-beta mais comme Axel l'a fait remarqué, j'ai mal tapé l'URL.

FirefosOS cible la version de Gecko actuellement en Bêta, sur mozilla-central, hier ça compilait pas FirefoxOS, avec mozilla-beta tu es sûr d'être sur une base bêta stable et proche de ce qui sera utilisé pour le produit final.

5. Le mardi 4 décembre 2012, 10:44 par Pierre

OK, got it!
Thank you Axel!

6. Le mardi 4 décembre 2012, 11:52 par John

Une fois ceci fait, on va créer un profil Gaia :
cd ~/FirefoxOS/mozilla-beta
make

=> Pour créer le profil il faut se placer dans le répertoire ~/FirefoxOS/gaia et non pas mozilla-beta :)

Merci pour le tuto.

7. Le mardi 4 décembre 2012, 11:54 par John

Ou peut être pas, en tout cas je ne peux pas exécuter make dans le répertoire mentionné dans le tuto :(

8. Le mardi 4 décembre 2012, 12:17 par Pascal

oui c'est dans le dossier gaia qu'il faut être pour créer le profil, j'ai corrigé le tuto.

9. Le mardi 4 décembre 2012, 12:18 par pascal

@john
Tu as un message d'erreur précis ?

10. Le mardi 4 décembre 2012, 13:09 par John

@pascal

En fait j'ai été étonné par la lenteur de création du profil, j'ai eu l'impression de rebuilder une grande partie de gaia, mais finalement ça a fonctionné.

11. Le mardi 4 décembre 2012, 20:44 par Nicolog

Merci pour ce tuto.
Dans la liste des packages à installer, je crois bien qu'il manque git et ccache (ce dernier n'est pas indispensable mais ça correspond à ton .mozconfig)

12. Le mercredi 5 décembre 2012, 09:24 par Pascal Chevrel

@nicolog

C'est fait, merci :)

13. Le mercredi 5 décembre 2012, 20:36 par etenil

Super! Ça fera l'affaire en attendant d'avoir des ROMs pour de vrais téléphones :)