2010-06-28 115 views
0

我最近在使用Openmoko手机2年后购买了三星Galaxy Android手机。从源代码构建Android系统

选择Android的原因之一是它是开源的。 我不想依靠手机制造商为我的手机提供更新。我想自己做。 现在我正处于研究阶段,如果这是值得的时间。所以下面是问题:

  1. 我发现了一些从源代码构建ROM映像的教程。他们告诉说,构建内核之前,Android构建脚本将要求创建电话。这是否意味着所有手机特定的东西都由脚本处理,否则我必须先做一些巫术才能将其闪光到手机上?

  2. 驱动程序。他们如何处理?它们是否作为二进制文件包含在源代码中并自动添加(问题1)还是必须解析旧的固件以获取它们并放入我的构建中?我意识到这将意味着模块/内核版本兼容性的一些问题。

  3. 有没有什么我不知道这会阻止我构建自定义固件或使其非常耗时?

我不怕安装SDK的和工具链的,毕竟我是一个Openmoko的所有者。

+0

我认为这个问题会更适合superuser.com Stackoverflow是一般编程和开发问题。对于硬件和软件调整超级用户将是正确的社区。 如果我不是唯一一个认为该问题属于超级用户的问题,则问题将自动迁移到superuser.com – Janusz 2010-06-28 08:21:26

+0

是否可以在用户手机上使用自己的操作系统映像?我以为你需要Google的开发手机之一? – Rup 2010-06-28 08:36:23

+0

我的印象是只有dev手机(包括nexus手机)能够正确处理自定义图像。与其他手机可以添加自定义ROM,但是你需要获得驱动程序(他们通常不是开源的,除了大多数的联系人之外),然后添加一个调整负载,使其运行良好。 – matto1990 2010-06-28 09:44:43

回答

4

这将是一个比那更复杂。

  1. 在我见过的任何消费者Android手机上,用户没有root权限访问操作系统。所以第一步,就是找到一个漏洞来获取root。
  2. 即使获得root用户,所有消费者Android手机都会“锁定”引导加载程序,以防止未经授权的操作系统映像被引导。
  3. Android OpenSource项目只包含少量手机(谷歌开发手机,可能是Nexus One?)的设备驱动程序。对于其他手机,驱动程序是制造商在手机上加载的专有二进制文件。它们通常不能单独提供。

即使所有的这些障碍,一些进取聪明的家伙已经成功地创建自定义的“ROM的”是融合了开源版本与司机撕开OEM安装在手机上,等的CyanogenMod是最有名的一个是可用于多种不同的Android设备,但不幸的是,三星Galaxy目前似乎不是Cyanogen支持的设备之一。

我找到一个旧的link here来获取Galaxy上的root并加载一个自定义ROM的指南,但不幸的是他们链接的ROM似乎不再被主动维护。可能值得做一些更详尽的谷歌搜索,看看你是否可以找到任何人在Galaxy上进行积极的开发。