嵌入式linux/android内核开发流程

sko*_*rst 5 c++ git android linux-kernel embedded-linux

我受到一个问题的启发,但我并没有了解全貌。我正在为基于商业芯片组平台的新设备开发内核和 Android 系统。

芯片组供应商为我提供了“压缩的固定内核代码”、“android 专有源”、“调制解调器源”。所有这些部分都是成对的,EG,我无法在不影响其他部分的情况下更改(在某种程度上)平台元素之一(内核、调制解调器、系统)。

它的局限性也很大,如果需要更新版本怎么办?我不确定我是否会获得供应商的来源。

所以这是我制作的一些流程:

=================================================== ===========

工作流程1: - 我不需要更新的版本,我现在需要发布设备!

1.下载芯片组提供商及其系统的最新公共内核

2.将我自己的驱动添加到内核中

3.将专有源添加到构建中

4.编译->一切都已经配置好了

5.调试->很少

6.补丁->小

7.发布->快速

8.有更新吗?-> 失败!?- 我需要芯片组供应商提供的新内核/系统。

=================================================== ===============

工作流程2:我不需要供应商

1.从google/cyanogem等下载一个干净的android系统。

2.将我的驱动程序添加到内核中

3.从芯片组供应商的来源获取内核补丁

3.为专有文件构建设备目录

4.配置/修补专有文件以与系统一起编译 -> hell

5.面对很多低级错误->地狱

6.调试/补丁

7.错过最后期限并被解雇

知道这在主要移动设备制造商中实际上是如何运作的吗?

谢谢!

wer*_*dle 1

我在一家芯片组供应商工作。我们为客户提供参考内核和参考 Android 源代码。但我们不是以“压缩源”的形式提供它们,而是以 git 存储库的形式提供它们,因此客户可以看到我们放入 kernel/AFS/etc 中的所有补丁,并将它们合并到他们的存储库中。

因此,对于您的情况,我建议您向供应商询问 git 存储库的访问权限。如果不可能,我建议您使用工作流程 1。如果您需要重大更新(例如从 GB 切换到 ICS),无论如何您都需要新供应商的源。可以在现有源的基础上进行较小的更新。