参考文章:Building and installing Firefox OS

这篇文件简单说下,自己实践获取B2G的源码并编译。

硬件要求:

1. An installed 64 bit GNU/Linux distribution (we recommend Ubuntu 12.04).
    2. At least 4 GB of RAM/swap space.
    3. At least 20 GB of available hard disk space.

我的硬件RAM 2GB,自己增加SWAP space到4.1GB,具体方法参考Ubuntu搭建android编译环境总结 这篇文章中第7个错误的位置。

软件要求:

You will also need the following tools installed:
    autoconf 2.13
    bison
    bzip2
    ccache
    curl
    flex
    gawk
    git
    gcc / g++ / g++-multilib
    make
    OpenGL headers
    patch
    X11 headers
    32-bit ncurses
    32-bit zlib

sudo apt-get install autoconf2.13 bison bzip2 ccache curl flex
gawk gcc g++ g++-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev libgl1-mesa-dev libx11-dev make zip

这里面在安装的时候,可能会涉及到一些依赖的包,按照提示安装即可。如果在64位的系统中编译,需要在执行以下命令

$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

获取source code:

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

这个完成后,挥发先B2G文件下,只有一些脚本文件,根本没有source code 。接下来要继续执行

$ cd B2G
$ ./config.sh emulator

目前Firefox OS 支持的设备和模拟器

$ ./config.sh

Valid devices to configure are:
      - galaxy-s2
      - galaxy-nexus
      - nexus-4
      - nexus-s
      - nexus-s-4g
      - otoro
      - unagi
      - inari
      - keon
      - peak
      - leo
      - hamachi
      - helix
      - tara
      - pandaboard
      - emulator
      - emulator-jb
      - emulator-x86
     - emulator-x86-jb

此时,已经在获取source code,下载过android source code的人都应该知道这是一个漫长的过程啊。

其实在你下载完成后,在ubuntu Terminal的最后一行会有run  ./build.sh类似的提示。不过在编译之前呢,先获取下最新的code

$ git pull
$ ./repo sync

当然,你也可以只更新某一模块的code,比如:

$ ./repo sync gaia
$ ./repo sync gecko
$ ./repo sync gonk-misc/

build code:

直接执行以下命令

$ ./build.sh -j2

这个-j2 是编译的线程数,这个最好和自己PC的cpu核数一致。当然也可以不需要 -j2这个参数的。build时间可能稍长点。

所有可以单独编译的modules 列表

$ ./build.sh modules

启动emulator:

$./run-emulator.sh 

模拟器启动后感觉和android的模拟器一样的,其实不然,稍等要进入firefox os home 会发现不同的。

以上这张图片就是启动模拟器后,firefox os的UI中的一部分了。

Firefox OS 学习——B2G 源码获取和build code相关推荐

  1. FireFox OS(B2G)源码获取与Build code

    趁编译源码的时候写下此篇以记录! 参考链接:https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Building_and_installin ...

  2. webrtc学习--webrtc源码获取

    文章目录 前言 webrtc下载编译 正常编译webrtc 获取对应的版本 获取对应的版本,下面以获取m98版本为例 webrtc对应的版本的地址,需要翻墙才能查看 编译记录 peerconnecti ...

  3. 鸿蒙Hi3861学习十九-DevEco Device Tool源码获取、编译、下载

    一.简介 在上一篇文章中,已经讲述了如何在Windows通过Remote SSH远程连接Linux下的DevEco Device Tool.这篇文章,来说一下关于源码的获取.编译与下载.建议先按照上一 ...

  4. 华为云14天鸿蒙设备开发-Day1源码获取

    目录 前言 一.获取源码 1.源码获取方式 1.1 从镜像站点获取 1.2 从HPM网站组件式获取 1.3 用包管理器命令行获取 1.4从代码仓库获取 二.在Windows中打开工程源码 1.映射工程 ...

  5. 如何高效的学习 Nginx 源码,汲取养分?

    Nginx 的功能点比较多,涉及到的新概念和设计思路对于新手也不是特别友好,我建议在了解一些了 Nginx 的一些基础知识之后,通过调试来学习 Nginx 源码. 以下操作需要一些 gdb 调试知识, ...

  6. 深入学习jquery源码之jQuery的选择器引擎Sizzle(一)

    深入学习jquery源码之jQuery的选择器引擎Sizzle Sizzle是一个纯javascript CSS选择器引擎.jquery1.3开始使用sizzle,Sizzle一反传统采取了相反的Ri ...

  7. vue filter对象_学习vue源码(3) 手写Vue.directive、Vue.filter、Vue.component方法

    一.Vue.directive Vue.directive(id,[definition]); 1)参数 { string } id{ Function | Object } [ definition ...

  8. 我该如何学习spring源码以及解析bean定义的注册

    如何学习spring源码 前言 本文属于spring源码解析的系列文章之一,文章主要是介绍如何学习spring的源码,希望能够最大限度的帮助到有需要的人.文章总体难度不大,但比较繁重,学习时一定要耐住 ...

  9. TLD(Tracking-Learning-Detection)学习与源码理解之(六)

    TLD(Tracking-Learning-Detection)学习与源码理解之(六) zouxy09@qq.com http://blog.csdn.net/zouxy09 下面是自己在看论文和这些 ...

最新文章

  1. spring常用的三种依赖注入方式
  2. 网上的假货太多,你把握不住的,让AI来
  3. IntelliJ IDEA 编译错误,提示 Compilation failed: internal java compiler error或java compiler failed
  4. Echarts(自己整理的一些散点图、饼图、条形图、散点图的基本配置参数)
  5. [转载]Ubuntu安装配置Mysql
  6. dhcp服务器能为客户端提供哪些信息,为DHCP客户端提供DHCP服务器的MAC [关闭]
  7. 大数据的趋势走向如何
  8. CASIA WebFace、WIDDER FACE、FDDB、AFLW、CelebA训练集详解
  9. 智能优化算法:花授粉算法-附代码
  10. 北约CCDCOE:国家网络空间安全框架
  11. 蓝队应对攻击的常用策略二
  12. hdu 5187 zhx's contest
  13. Python程序设计实验报告【合集】
  14. 微信浏览器 视频小窗 播放 微信网页
  15. wps之word设置页眉
  16. fastlane php,fastlane 自动化打包不同的target,以及手动传版本号参数
  17. Matlab 常用快捷键
  18. win7电脑连接无线网络怎么连接服务器未响应,Win7无线网络无法连接的原因及Wifi无法连接解决方法大全...
  19. 全国计算机考试 mysql_全国计算机等级考试二级MySQL试题及答案
  20. 绘制地图格网时,如何只显示度的数值

热门文章

  1. (附源码)PHP校园寝室分配查询系统 毕业设计 032027
  2. python中自定义模块导入飘红_Pychorm提示Unresolved reference 导入模块报错
  3. 人工智能数学基础---定积分9:无界函数反常积分审敛法以及无界函数Γ函数介绍
  4. 单变量微积分笔记29——反常积分和瑕积分
  5. arduino单片机经典程序
  6. 解决打印机每次打印完都会额外打印一张带有文件名、目录、模板等信息的问题
  7. dnf 跨服 服务器 位置,《DNF》怎么跨区组队交易 2017最新跨区分布图
  8. python中的乘号 *
  9. 【NKOJ-3823】果冻怪
  10. 开源公告|分布式深度学习训练工具PatrickStar正式开源