在索尼开放设备上构建和运行 Firefox OS

几年前,索尼发布了其首款 Firefox OS 移植版本,适用于 Xperia E。从那以后,索尼启动了 Open Devices 计划,为更多智能手机提供对 AOSP(Android 开放源代码项目)的支持。本文介绍的移植工作基于此项努力,将 Firefox OS 带到了十多种不同的索尼设备上。

Sony tablet and phone

从 FXP 项目构建

现在,可以通过 FXP 项目 获取针对众多索尼设备的 Firefox OS 构建版本。感谢 Adam Farden 为改进未经品牌标识的 Firefox OS 构建版本默认外观和感觉所做的努力,以及托管这些映像。这些构建版本还具有无线更新,因此随着 Firefox OS 不断改进,你可以保持更新!不过,它们是从 Firefox OS 的 nightly 分支构建的,因此请务必定期备份信息。

FXP Project

继续阅读,为索尼 Xperia 设备创建自己的 Firefox OS 构建版本...

构建 Firefox OS

开始之前,先提几个警告

  • 时间! 下载源代码需要整晚时间。我可没有开玩笑!预计获取整个源代码树需要 10 个小时或更长时间。Firefox OS 建立在包括 Linux、Android 开放源代码项目等许多其他项目之上。构建智能手机映像不像构建 Firefox 浏览器,甚至不像编译自定义内核。
  • 数据! 刷机设备会破坏现有的操作系统,并可能删除用户数据。请始终对要保留的任何信息进行完整备份。
  • 变砖! 在设备上刷入新操作系统始终存在使设备无法使用的风险。这种情况很少见,但并非不可能。索尼提供了一个名为 Emma 的官方工具。它与 S1 Bootloader 刷机模式配合使用,因此完全破坏设备的可能性实际上很低,而且大部分内容都可以通过该工具进行恢复。它非常易于使用,并且提供了 文档。它在 Windows 上运行,但我们已在 VirtualBox 中成功使用它:请勿忘记,S1 Bootloader 模式的 USB ID 不同。因此,你需要强制设备连接到虚拟机。

哦,你还在?太好了,但不要说我们没有提醒你。继续阅读,了解如何为索尼设备构建 Firefox OS!

设备支持

Firefox OS 目前支持 Shinano 和 Yukon 索尼设备平台。这意味着你可以为 Xperia Z2、Z3、Z3 Compact、Z3 Tablet Compact 以及 E3、T2 Ultra 构建。Xperia M2 的支持即将推出。你可以在 索尼网站 上查看支持的完整设备列表。请注意,要刷机的设备必须在刷机之前更新到 Android Lollipop(5.1)。

Firefox OS 的大部分功能都经过测试,你可以预期这些功能能够正常运行。其中包括电话、短信/彩信和数据连接,以及 Wi-Fi、GPS、蓝牙和 NFC 等设备功能。

唯一的重大例外是相机。索尼团队正在移植相机,相机移植完成后,我们会更新此文章。目前还不支持 FM 收音机。在音频/视频解码和处理以及硬件加速方面,你可能会看到支持程度不同或出现一些错误。如果在这些区域遇到问题,请务必报告错误。本文底部提供了报告问题的说明。

准备构建

Mozilla 的开发者网站 MDN 提供了 有关为设备构建 Firefox OS 的大量文档。目前,构建 Firefox OS 所支持的操作系统仅限于 64 位 Linux。首先安装先决条件(如 Git 和 Android SDK),并设置你的 构建环境。按照那里的说明操作即可,你将一切顺利。

克隆、配置、构建

完成构建环境的设置后,你就可以 获取源代码。请记住,这可能需要很多个小时!代码来自许多不同的存储库,即使通过快速的互联网连接,也可能需要 10 个小时或更长时间。确保你有至少 20 GB 的可用磁盘空间用于源代码和将要生成的构建文件。

接下来的几个步骤如下所示
* 克隆项目的根存储库,这将下载构建脚本。通过良好的连接,这大约需要一分钟时间。
* 为你的设备配置,这将下载所有 B2G 和 Gonk 源代码,以及一些特定于你的设备的配置文件和库。通过良好的连接,这可能需要 10 个小时或更长时间。
* 编译成可以刷入设备的设备映像。此步骤在功能强大的台式计算机上大约需要一个小时。

首先使用以下命令克隆 B2G 存储库。这应该只用一分钟。

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

这将创建一个 B2G 目录,你就可以进入该目录

cd B2G

在开始下一步之前,通过 USB 连接设备,并通过执行以下命令确认你是否可以看到设备已连接

adb devices

你应该看到类似以下内容

List of devices attached 
YT910VTPWY    device

接下来,你将使用设备的代号为你的特定设备配置构建版本。你可以通过在没有参数的情况下执行 config.sh 脚本找到设备的代号

./config.sh

找到它后,你就可以配置构建版本了。以下是针对 Z3 Compact 的配置步骤

./config.sh aries-l

接下来的直接步骤是去睡觉。或者开车去看望你的祖母。或者看看在源代码下载完成之前你能跑多少马拉松。

好了!现在是第二天了,你已经获得了所有源代码。现在你可以开始构建了

./build.sh

现在去看看电影的一半,或者看看你能在一个小时内做多少次俯卧撑!

刷机设备

这是你一直在等待的时刻。确保你的设备已通过 USB 连接,然后执行以下命令

./flash.sh

你应该看到设备进入 Bootloader 模式,然后各种文件被复制过来,然后被写入设备

Terminal while flashing

刷机过程完成后,你的设备将重启到 Firefox OS!

Boot screen

这看起来不错,我怎样才能提供帮助?

你可以通过多种方式做出贡献并保持联系。最明显的方式之一是获取对已支持设备的访问权限,并使用它以及 报告错误。另一个进步是破解设备以帮助维护它,确保错误得到修复,并提供流畅的用户体验。对于那些足够勇敢的人来说,你可以帮助为更多索尼 Xperia 设备提供支持。Open Devices 项目支持的设备列表比当前与 Firefox OS 配合使用的设备列表更多。例如,破解以获得 Z1/Z1 Compact 系列(Rhine 平台)将是一个好的开始。

有关在新的硬件或设备上运行 Firefox OS 的问题,请尝试访问 dev-fxos 邮件列表 或 IRC 上的 #fxos。谢谢!

关于 Dietrich Ayala

Dietrich Ayala 的更多文章…

关于 Alexandre Lissy

Alexandre Lissy 的更多文章…


11 条评论

  1. Nawfel

    现在,请提供有关如何在 ZTE Open C 上升级到最新 nightly 版本的教程。说真的,许多人(包括我)都在为此而苦恼,例如,请参见 http://www.reddit.com/r/firefoxos

    2015 年 10 月 5 日 上午 11:08

    1. dattaz

      有了它!http://builds.firefoxos.mozfr.org

      2015 年 10 月 5 日 下午 9:40

      1. Nawfel

        非常感谢您!

        2015 年 10 月 6 日 上午 2:32

      2. Nawfel

        这些构建会将基本操作系统更新到 Android 5 吗?

        2015 年 10 月 6 日 上午 2:48

        1. dattaz

          没有,我们还没有为 ZTE Open C 提供 Android 5 移植版本。

          2015 年 10 月 6 日 上午 6:23

  2. sgalbia

    我在哪里可以找到 config.sh 命令的“设备名称”列表?
    至少我需要 E3 的。
    很棒的帖子和项目!

    2015 年 10 月 9 日 下午 10:53

    1. Dietrich Ayala

      嗨!

      在您按照帖子中的说明克隆 B2G 存储库后,您可以执行“./config.sh”而不带任何参数,它将打印设备名称列表。

      2015 年 10 月 11 日 下午 3:09

  3. Vincent den Boer

    一年前,我在意大利买了一台 Alcatel One Touch Fire。运营商(TIM)删除了网络共享功能,附带了旧版本的 FFOS,而且没有提供更新。有人帮助我提供了一个定制版本的 FFOS,该版本可以进行网络共享,但不幸的是有 bug。我可以在某个地方找到这款手机的更新版本吗?

    2015 年 10 月 14 日 上午 10:33

    1. Dietrich Ayala

      据我所知,没有官方的更新版本。您可以在这个 XDA 线程中提问,也可以阅读下面的指南以创建您自己的版本。

      * http://forum.xda-developers.com/showthread.php?t=2628130

      * http://k.japko.eu/alcatel-otf-hackers-guide-1.html

      2015 年 10 月 14 日 下午 1:56

  4. niu tech

    您可以在此处找到 Alcatel One Touch Fire 和 ZTE Open 的 Firefox OS 最新版本:http://mexmod.com

    2015 年 10 月 15 日 上午 7:45

  5. bac_a_sable

    关于移植到 Xperia M2 的一些消息?

    2015 年 11 月 4 日 上午 5:33

本文的评论已关闭。