目录:
我不是编码员。 我几乎不知道G ot ,我 记不清有 多少次我想知道为什么 adb 不起作用,只是发现我忘了打开USB调试 - 再次。 我在这里有一个盒子上的Linux,但是当我有心情在五分钟内向Jerry抛出六个问题时我才会使用它。
另外,我没有脖子。
那么在广泛的体育世界中,我在MacBook Air上下载Xcode是什么意思(不要紧,直到今年春天,我一直都是Windows家伙),从Git repos同步,编译代码和刷新操作系统到目前为止,我有意识地忽略了 - 特别是因为我花了24个小时与一个生病的孩子打交道,担心生病的朋友,并准备可能的飓风,在很大程度上忽略了我的实际工作?
显然,我有闪光问题。 这就是我最近在三星Nexus S上发现自己将Mozilla的初出茅庐的操作系统(也称为“Gecko”)放入其中的方式。
欢迎来到Boot to Gecko项目。
就像我说的,我不是编码员。 但我确实想搞砸东西。 我设法做到这一点,就像我年幼的女儿们所说的一样……所有……我……自我。 你也可以。
等等 - 你为什么要这样做?
这是我们称之为周末项目的系列中的第一个。 你不会尝试的事情。 但如果我们能做到,你也能这样做。
也就是说,在这里我有一些我不会为你做的事情。 这不是详细介绍如何构建和刷新Boot to Gecko项目。 我将给你广泛的经验。 Mozilla有一些很好的文档,如果你打算尝试这个,你真的应该阅读它。 (我也可能无法在翻译中把一切都弄好。)
我不打算做的另一件事就是把你指向其他人的构建,虽然可以通过ClockworkMod闪存。 您可以自己搜索。 我想要做的实际上就是在我自己的手机上自行编译。
这就是我所做的。
您需要的链接
谷歌是你的朋友。 对“B2G”的简单搜索找到了我需要的一切。
- Mozilla - 引导到Gecko(对于B2G的非书呆子解释)
- Mozilla开发者网络上的B2G(这是实际工作开始的地方)
- 构建并安装Boot to Gecko
好的 - 现在你到底在做什么?
根据Mozilla的说法,要从头开始构建,您需要Mac或Linux机器。 我在这里都有。 但Mac指令看起来更简单。 (这没有羞耻,对吗?)但这也是有道理的。 如果您正在运行Linux,则可以轻松安装Mozilla列出的所有工具。 我? 没那么多。 所以Mac就是这样。
这对我来说真的很简单:从Mac App Store安装Xcode,然后启动终端并运行一些命令。 我已经在Android中做了足够的修修补补。 Mozilla有一个很棒的脚本可以安装你需要的一切。 然后,您可以同步git存储库,编译代码,并像任何其他自定义ROM一样将其闪存到您的Android设备。 (并且Mozilla也为最后一部分编写了一个脚本,使事情变得更加容易。)
至于您正在构建的目标设备,您可以选择。 Mozilla将它们分为三层:
- 第1层: Otoro(Mozilla使用的某种开发设备); PANDABOARD; ARM或x86仿真器; 或桌面。 不是我想要的。
- 第2层:三星Nexus S和Nexus S 4G。 我觉得这里有一个共同的主题。 易于解锁的手机,Mozilla表示这些手机正在“次要地”发现变化。 我有一个Nexus S,所以这就是我的目的。
- 第3层:三星Galaxy S2和Galaxy Nexus。 人们正在修补,但第2层是你最好的投手。
这是一半的战斗。 现在下载,编译和刷新B2G。
那里也有几个选择。 一种是在Linux机器上构建。 Mozilla会列出您需要的所有必需工具,但它并没有告诉您从何处获取它们。 我是一个Linux n00b,这是一件坏事。 对于使用一个发行版或其他发行版的大多数其他书呆子来说,它应该不那么重要。
另一种选择是在Mac上构建。 Mozilla让它变得非常简单。
那你是怎么做到的?
我再次在Mac上做到了这一点。 而且,即使是我的无胡子脖子也能够遵循的确实只有几个基本步骤。
- 我不得不安装Xcode,这是Mac的开发环境。
- 我安装了Homebrew for Mac。
- 我运行了一个Mozilla提供的脚本,它检查了其他先决条件并提示我在需要时安装它们。
在这一点上,我会注意到Mozilla的指示似乎表明我所要做的就是安装Xcode然后运行脚本; 其余的会照顾好自己。 但我必须首先安装Homebrew。 我不确定这是因为我做了什么(或没做过),还是做了什么。 但这就是它对我有用的方式。
接下来:从Git中获取所有代码。 这就像复制并将另外几行粘贴到终端一样简单。 凉。
然后:编译。
现在,这几个步骤需要一段时间。 我不确定多久。 我走开了,做了些什么。 煮了一些咖啡。 跑了一些差事。 写了一本书。 我的小MacBook Air花了一段时间。 我期望。 这不是一个过于困难的项目,但它也不是太快。 我让事情顺其自然,最终在MBA的新“B2G”目录中显示了一个可闪烁的图像。
时间闪光
所以。 是时候抓住Nexus S.当然,它需要一个解锁的引导程序,它需要运行Android 4.0冰淇淋三明治。 (Mozilla对Jelly Bean没有任何说法,但是我也可以使用它。不太令人惊讶。)
将手机拨入快速启动模式并将其插入。使用Android之前我们没有做过任何事情,对/
现在,Mozilla再一次让这很容易。 我没有打扰修复我的路径变量,因此adb和fastboot通常存在于我的Android SDK的一个文件夹中,就是这样。 我可以解决这个问题。 Mozilla巧妙地将所有这些包括在内。 但更好的是它制作了一个可以完成所有事情的小脚本。 它检查引导加载程序是否已解锁。 它会擦除需要擦除的所有分区。 然后它会闪烁新图像。 完全亲自动手。 这不是我自己无法做到的,但如果不是偶尔懒惰,我什么都不是。 干杯,Mozilla。
重启,繁荣。 我们已经启动了Gecko。
把它放在一起,你有什么?
现在,为了我们的劳动成果。
底线
所以这就是三星Nexus S上的Mozilla引导Gecko。实际上,这不是一个糟糕的小项目。 花了几个小时,一个工作的Nexus S和一些硬盘空间,但它对大脑并没有太大的负担。 一旦你将它闪存到手机上,你可以使用自定义Android恢复备份它,然后随意出入。
我在难度等级上给出了6分中的6分,只是因为在编译代码时我真的不知道自己在做什么。 但是我很好地遵循了方向,Mozilla让事情变得简单易行。 这是你可以自己尝试的。
我们可能会使用我们的链接获得购买佣金。 学到更多。