0

我试图弄清楚 4 件事:

  1. https://android.googlesource.com/kernel/common/+refs中的分支对应什么?Linux 内核标签[需要引用]

  2. 设备内核存储库( )有什么kernel/common关系?构建说明的是我不确定它们是否适合的预构建文件kernel//device/*/*/kernel

  3. Kernel-Projects的 repo 是什么?看起来像虚空一样空虚

  4. 如何将 android 内核版本映射到 API 版本(发现这个但它已经过时了)?

我知道 git 以及为什么 master 分支是的。我将不胜感激官方文档/论坛的链接或源代码树的一些详尽指南。

相关:Android 4.0 的内核源代码 - Ice Cream Sandwich

编辑

内核显然是:

kernel/common   Common Android Kernel Tree
kernel/exynos   
kernel/goldfish 
kernel/lk   
kernel/msm  Kernel tree for Qualcomm chipsets
kernel/omap 
kernel/samsung  Kernel tree for Samsung systems on Android.
kernel/tegra

这里的页面让我朝着这个方向前进——不幸的是,它自 2011 年以来就没有更新——开始了讨论,希望有人会自愿参加。从同一页我得出的结论是kernel/lk回购是“引导加载程序”。

编辑 2

我刚刚发现可以在这里找到较旧的内核:https ://www.codeaurora.org/cgit/quic/la/kernel/common/refs/heads

4

1 回答 1

0

我会尽量给出一些指导方针,因为它很难回答你所有的问题。

谷歌并不关心你编译内核,相反他们投入了大量的精力在很多方面让它变得困难。

好消息是内核具有开源许可证,您实际上可以下载和编译它。

那么,您在哪里可以找到在真实设备上生成工作代码的内核源代码?在设备制造商处:Ex.Samsung 设备 - http://opensource.samsung.com/以 I9500 为例,您将找到 Galaxy S4 的来源

芯片组制造商:

  • Exynos - 三星的芯片组
  • 金鱼 - 模拟器设备
  • MSM - 高通芯片组
  • OMAP - TI 芯片组
  • Tegra - Nvidia 芯片组
  • BCM - 博通芯片组

还有更多。

他们的客户是设备制造商,内核树通常与特定设备不兼容,而是与开发人员修改并使其在设备上工作的一系列芯片组产品兼容。例如:Qualcomm 将其内核发布到 www.codeaurora.org,其客户(三星、HTC、LG、中国 OEM..)使用那里的代码。

关于 2.:由于各种原因(例如,如果设备制造商没有发布源代码),许多设备存储库都带有预构建的内核,那么您可以在不编译内核的情况下编译整个 ROM - 这是一个较差的选择。

大约 3.:不知道那是什么。

大约 4.:有些果冻豆和以上有 3.4+。使用 3.0+ 和 2.X 的 ICS 通常是 GB。但是,当内核开发人员从较新的内核向后移植特定驱动程序并导致 2.X 运行 JB 甚至 KitKat 时,存在许多不一致之处。

于 2014-02-23T08:06:30.057 回答