Philips Tech Support

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Sunday, 25 March 2012

Building Boot2Gecko(B2G) on Ubuntu

Posted on 21:10 by Unknown

You heard about Mozilla Boot2Gecko(B2G) mobile operating system. Boot2Gecko's Gaia user interface is developed entirely using HTML, CSS and Javascript web technologies. If you are an experienced web developer you can contribute to Gaia UI and develop new Boot2Gecko applications with ease. In this post I'll explain how to setup the Boot2Gecko (B2G) development environment on your personal computer.



You can run Boot2Gecko(B2G) inside an emulator or inside a Firefox web browser. Using Boot2Gecko(B2G) with QEMU emulator is very resource intensive, so we will focus on the later in this post. I'll assume you are comfortable with Mozilla build environment. So, get that pot of coffee brewing and prepare for a long night of hacking.



Building Boot2Gecko(B2G) Firefox App



Before you start, let us make sure that you have all the prerequisites for building Firefox on your computer. Please have a look at the build prerequisites for your Linux, Window and OSX operating system.





# Let get the source code
# Download mozilla-central repository

$ hg clone http://hg.mozilla.org/mozilla-central mozilla-central

# Download the Gaia source code

$ git clone https://github.com/mozilla-b2g/gaia gaia

# Change directory and create our profile

$ cd gaia

$ make profile


# Change directory into your mozilla-central directory

$ cd mozilla-central


# Create a .mozconfig file inside your mozilla-central directory:

$ nano .mozconfig
mk_add_options MOZ_OBJDIR=../b2g-build
mk_add_options MOZ_MAKE_FLAGS="-j9 -s"
ac_add_options --enable-application=b2g
ac_add_options --disable-libjpeg-turbo
ac_add_options --enable-b2g-ril
ac_add_options --with-ccache=/usr/bin/ccache

# Build the Firefox B2G app and wait for the build to finish

$ make -f client.mk build


# Create a simple b2g bash script to launch B2G app; change paths you suit your environment
# Note: Have to use to -safe-mode option due to bug on my Ubuntu box

#!/bin/sh
export B2G_HOMESCREEN=http://homescreen.gaiamobile.org/
/home/arky/src/b2g-build/dist/bin/b2g -profile /home/arky/src/gaia/profile





If everything goes well. You should have boot2gecko running inside a firefox now.



Boot2Gecko running inside firefox on Ubuntu




Customizing Firefox B2G App

For better Boot2Gecko (B2G) experience, we will customize Firefox features offline cache and touch events using a custom Firefox profile.





Create a Custom Firefox Profile



You can use dist/bin/b2g -ProfileManager option to launch Firefox Profile Manager. Create a new profile called 'b2g'. Now we can add customizations to this new profile.



On Linux computers, the profile is created under ~/.mozilla/b2g/ directory. You can find the information about location of firefox profiles for your operating system here.





You launch B2G with your new custom profile using the '-P' option. Modify your B2G bash script and add the custom profile option. dist/bin/b2g -P b2g



Disable offline cache



Create a user.js file inside your custom 'b2g' firefox profile directory. Add the following line to disable offline cache.

user_pref('browser.cache.offline.enable', false);




Enabling Touch events



Add the following line in your user.js file inside your custom 'b2g' Firefox profile directory to enable touch events.

 user_pref('dom.w3c_touch_events.enabled', true);






That's it. You now have a Boot2Gecko(B2G) running inside Firefox on your computer. Happy Hacking!

Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in boot2gecko, firefox, mozilla, ubuntu | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Google Apps Script for Google Sites
    Google Apps Script started as functions for Google Spreadsheets. Today Apps Scripts have evolved into powerful development environment for e...
  • Acer Aspire One Battery Charging Problem
    If you believe amnesia is a malady that effects humans, think again. Recently a Acer Aspire One netbook landed on my table with a similar p...
  • Naranda Muni Assocation
    Juan says 'I now dub thee, president arky ' Initiation into Hipatia community Browsing this blog on Nokia N95 at the IFFK in Kerala...
  • PyCon India 2009
    Most action happens on conference sidelines PyCon India 2009 is no expection. You can always watch the recordings of talks later on. Catch...
  • Prayas The Tinkerer
    Ran into Prayas the tinkerer while in Bangalore. He introduced me to two of his really interesting projects. CANOPY: temporary roofs for t...
  • ALSA Jack Sense problem in Jaunty
    Update: Ubuntu Lucid user should read the this updated post Headphone jack sense problem in Ubuntu 10.04 Lucid Lynx instead. The newly or...
  • Free Software Camp for Ngo's and Civil Society Groups in Delhi, India
    Free Software Workshop for NGOs and Civil Society Groups Effectively compute and communicate in your local language using free and open sour...
  • Swathi Sangeethotsavam 2010
    The thunderstorm lasted all night, it was raining all sunday afternoon. The lake water is rising again, I resist the idea of going for a swi...
  • National Open Source Conference of Afghanistan (NOSCA) 2013
    This week National Open Source Conference of Afghanistan (NOSCA) starts in Jalalabad, Afghanistan. The event is organized by the National I...
  • Startup Investment Hour in Hanoi
    Opportunities abound for those who think big in Vietnam. Recently 5Desire , a local startup accelerator organized Startup Investment hour. T...

Categories

  • "compiz-fusion"
  • "film making"
  • "Graphic Design"
  • "martial art"
  • 01-18-2012
  • 10.04
  • 10.10
  • 3dprinting
  • 9.04
  • a11y
  • accerciser
  • accessibility
  • Activism
  • adobe
  • aegis
  • africa
  • AIR
  • alsa
  • Andhra Pradesh
  • android
  • angling
  • Animals
  • apache
  • apple
  • apport
  • Apps Script
  • architecture
  • ardour
  • arduino
  • ARM
  • art
  • audio description
  • bangalore
  • barcamp
  • barcamphanoi
  • barcampkl
  • barcamppp
  • barcampsaigon
  • barcampvte
  • bash
  • bcy2011
  • beercamp
  • biofuel
  • bittorrent
  • blackout
  • blender
  • blind
  • blogging
  • book
  • boot2gecko
  • braille
  • broadcom
  • bugs
  • bzr
  • Calicut
  • cambodia
  • canon
  • Canopy
  • cartoons
  • cat
  • CC
  • CDMA
  • censorship
  • CHDK
  • children
  • china
  • Chromium
  • Climate Change
  • cms
  • Comedy
  • comics
  • command line
  • compiz
  • Computational Linguistics
  • cpan
  • Creative Commons
  • cyanogenmod
  • DAISY
  • debian
  • delhi
  • design
  • dhvani
  • django
  • documentation
  • dontzap
  • dots
  • drupal
  • drush
  • earth hour
  • easy_install
  • eclipse
  • Ecuador
  • embedded linux
  • Environment
  • espeak
  • events
  • fennec
  • ffmpeg
  • film
  • film making
  • firefox
  • firefox3
  • firefox4
  • firefoxOS
  • firmware
  • fishing
  • fossasia
  • free culture
  • free software
  • fsfs
  • fx4
  • G1
  • gadgets
  • gdm
  • geek humour
  • Gimp
  • GISS
  • git
  • gnewsense
  • gnome
  • google
  • gta02
  • GUI Testing
  • hack
  • hackable1
  • hacker
  • handbrake
  • hanoi
  • hanoitweetup
  • hardware
  • hardy heron
  • hipatia
  • html5
  • humour
  • hunspell
  • ICANN41
  • iceweasel
  • identi.ca
  • iffk
  • IISE
  • india
  • Indian Languages
  • intel
  • interaction design
  • internet
  • intersat
  • Intrepid
  • Intrepid Ibex
  • ipod
  • jam
  • jaunty
  • Java
  • Javascript
  • josm
  • karmic
  • kerala
  • kernel
  • keyboard
  • kid
  • kiddy video
  • kids
  • kinect
  • kiosk
  • l10n
  • laos
  • launchpad
  • ldap
  • libreoffice
  • Linux
  • local weather
  • lucid
  • machine translation system
  • maemo
  • mallard
  • manga
  • maps
  • maverick
  • mediawiki
  • meego
  • mencoder
  • merkaartor
  • micro-blogging
  • midori
  • Mobile
  • moblin
  • mod_pagespeed
  • modem
  • mozcamp
  • mozilla
  • mplayer
  • music
  • mwc2012
  • myanmar
  • mymozl10n
  • mysql
  • n70
  • nature
  • nedumangad
  • neo freerunner
  • Neo1973
  • nepal
  • netbooks
  • NGO
  • NLP
  • NLTK
  • Nokia
  • Nonprofits
  • notify-osd
  • NUI
  • nvda
  • OLPC
  • ooffice
  • openDNS
  • openmoko
  • openNI
  • openOffice
  • openoffice.org
  • OpenStreetMap
  • orca
  • oscar
  • OSM
  • packaging
  • PDF
  • people
  • perl
  • Pets
  • photography
  • pipa
  • pokhara
  • postfix
  • potlatch
  • powershot
  • programming
  • pune
  • puppylinux
  • python
  • pythonegg
  • radio show
  • Recycling
  • red nose day
  • rms
  • RND
  • robots
  • rockbox
  • rubber
  • ruby
  • rural
  • s60
  • sahana
  • samba
  • samsung
  • scipy
  • security
  • SFD2011
  • shell
  • silk
  • singapore
  • skype
  • social media
  • software-center
  • softwarefreedomday
  • solar
  • solar eclipse
  • sopa
  • speakers
  • spins
  • stallman
  • startups
  • system-adminstration
  • t-shirt
  • tablet
  • tactile watch
  • tea shops
  • technology
  • tee
  • terminal
  • Testing
  • theatre
  • tibet
  • tracker
  • travel
  • trek
  • trekking
  • tux4kids
  • tuxmath
  • tv
  • tweets
  • twitter
  • ubuntu
  • UNR
  • uTouch
  • UX
  • UXA
  • vagrant
  • VCS
  • veli
  • vidarbha
  • video
  • virutalization
  • vsat
  • w3c
  • watches
  • water from dew
  • weather stations
  • weave
  • web automation
  • web standards
  • web testing
  • web2py
  • webmaker
  • Wiki
  • wikia
  • wikipedia
  • Windows
  • Windows XP
  • wordpress
  • wvdial
  • X-Window-System
  • X11
  • xorg
  • yelp
  • Zii
  • ZTE

Blog Archive

  • ►  2013 (17)
    • ►  September (1)
    • ►  August (1)
    • ►  July (1)
    • ►  June (2)
    • ►  May (3)
    • ►  April (1)
    • ►  March (1)
    • ►  February (5)
    • ►  January (2)
  • ▼  2012 (26)
    • ►  December (3)
    • ►  November (1)
    • ►  October (1)
    • ►  July (1)
    • ►  June (3)
    • ►  May (6)
    • ►  April (1)
    • ▼  March (8)
      • Building Boot2Gecko(B2G) on Ubuntu
      • It's Finally Here! Beercamp Hanoi
      • How to Fix Samsung Kies connection problem
      • Samsung Galaxy S2 GT-i9100G: Review, Firmware, Sof...
      • How to display your Android screen on your desktop
      • Barcamp Hanoi 2012 is Here!
      • Firefox Developer Tools at FOSS@HUS
      • Barcamp Saigon (Winter) 2011
    • ►  January (2)
  • ►  2011 (43)
    • ►  December (2)
    • ►  November (7)
    • ►  October (8)
    • ►  September (4)
    • ►  August (5)
    • ►  June (1)
    • ►  February (6)
    • ►  January (10)
  • ►  2010 (73)
    • ►  December (17)
    • ►  November (5)
    • ►  October (10)
    • ►  September (3)
    • ►  August (8)
    • ►  July (9)
    • ►  June (4)
    • ►  March (5)
    • ►  February (7)
    • ►  January (5)
  • ►  2009 (108)
    • ►  December (7)
    • ►  November (10)
    • ►  October (8)
    • ►  September (6)
    • ►  August (8)
    • ►  July (4)
    • ►  June (5)
    • ►  May (6)
    • ►  April (15)
    • ►  March (15)
    • ►  February (9)
    • ►  January (15)
  • ►  2008 (33)
    • ►  December (33)
Powered by Blogger.

About Me

Unknown
View my complete profile