几年前,索尼发布了其首款 Firefox OS 移植版本,适用于 Xperia E。从那以后,索尼启动了 Open Devices 计划,为更多智能手机提供对 AOSP(Android 开放源代码项目)的支持。本文介绍的移植工作基于此项努力,将 Firefox OS 带到了十多种不同的索尼设备上。
从 FXP 项目构建
现在,可以通过 FXP 项目 获取针对众多索尼设备的 Firefox OS 构建版本。感谢 Adam Farden 为改进未经品牌标识的 Firefox OS 构建版本默认外观和感觉所做的努力,以及托管这些映像。这些构建版本还具有无线更新,因此随着 Firefox OS 不断改进,你可以保持更新!不过,它们是从 Firefox OS 的 nightly 分支构建的,因此请务必定期备份信息。
继续阅读,为索尼 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 模式,然后各种文件被复制过来,然后被写入设备
刷机过程完成后,你的设备将重启到 Firefox OS!
这看起来不错,我怎样才能提供帮助?
你可以通过多种方式做出贡献并保持联系。最明显的方式之一是获取对已支持设备的访问权限,并使用它以及 报告错误。另一个进步是破解设备以帮助维护它,确保错误得到修复,并提供流畅的用户体验。对于那些足够勇敢的人来说,你可以帮助为更多索尼 Xperia 设备提供支持。Open Devices 项目支持的设备列表比当前与 Firefox OS 配合使用的设备列表更多。例如,破解以获得 Z1/Z1 Compact 系列(Rhine 平台)将是一个好的开始。
有关在新的硬件或设备上运行 Firefox OS 的问题,请尝试访问 dev-fxos 邮件列表 或 IRC 上的 #fxos。谢谢!
11 条评论