有关从一台设备到另一台设备的 Android 内核移植的指南

2024-01-10

我拥有一台 Samsung Galaxy 3,并且想要移植可用于其他 Android 设备的内核。我已经准备好了所有的建筑环境。我也有C知识。我到底不明白的是移植涉及什么以及如何以及什么,哪些代码应该以什么方式修改?

如果有人可以帮助我。这会很棒。

提前致谢。


好,我知道了。但真正的问题是我不明白一件事。

需要更改源代码中的哪些内容才能使其兼容其他设备?有人能给我解释一下吗?


Idolon 给出了一个很好的建议。从理论上讲,那里写的都是真的。在实践中,它涉及更多一些。我已经移植 Android 内核几个月了。我的目标是在我的定制板上拥有一个带有定制 I/O 的定制 S5PV210 处理器模块。我有三星 Galaxy Tab 和几款三星 Android 智能手机的源代码,以及三星评估板(S5PV210 CPU 的 SMDKV210)的几个版本(Froyo、Gingerbread)。仅供参考,S5PC110 是一个紧密的衍生产品。这是我发现的。 尽管所有设备驱动程序都应该以非常模块化的方式构建并且彼此独立,并且您应该能够用类似的设备替换它们,但三星的做法并不完全是这样。举一个关于电源管理的例子。在许多处理硬件设备的低级驱动程序中,它为其他硬件设备(例如电源管理芯片)调用一些特定的例程。因此,当您更改“make xconfig”或“make menuconfig”中的驱动程序选择时,它将删除您不需要的源代码并添加您想要的驱动程序,但是仍然有其他模块正在调用您删除的低级功能。在构建时,您将获得大量未解决的外部问题,因为您删除了您的硬件没有但在您开始使用的源中使用的电源管理芯片。我查看了三星的几个设备源代码,它们很早就已经分支了。它们已由不同的团队进行了改编,从一个源套件将一种设备转移到另一种设备将是一项艰巨的工作。

我是这样成功的:我购买了一个 S5PV210 评估板,其中已经移植了 Android 内核 (Gingerbread)。所有电源管理和相互依赖的问题都已解决。然后,形成一个工作套件,我可以更改我需要的设备(如果没有每年 10 万台的承诺就无法购买的设备),而不会陷入相互依赖性。然后我什至可以更改 LCD 分辨率(从 800x480 到 1024x768)、触摸屏、Cell 调制解调器等。整个过程仅需要一个人(我)大约一个月的时间。

从 Galaxytab 或其他商业设备开始,我花了几个月的时间思考,除了我学到的东西之外没有任何有用的结果。

我的方法要成功有一个要求。您必须了解您正在使用的硬件。例如,您需要知道您的硬件有什么触摸屏(芯片组)来选择驱动程序,以及它是否已连接以将其连接到正确的设备(USB、串行等)。对于所有其他设备(电源管理芯片、键盘、背光、LCD 等)也是如此

希望这有助于您了解所涉及的工作以及如何完成它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有关从一台设备到另一台设备的 Android 内核移植的指南 的相关文章

随机推荐