4

为了检查 msm Hammerhead android 内核的源代码,我按照以下步骤操作。

[1] 为 android 下载了 msm 内核源代码。

$ git clone https://android.googlesource.com/kernel/msm.git

[2] 在我的 AOSP 中检查了 Hammerhead 内核的提交消息。

commit 8b392a30f1228e890fa0f7b39598f3b1c73cea94

作者:Android 开源项目
日期:Thu Dec 5 15:38:00 2013 -0800

快照到 fc777b6d3b2b20ba7270059dd2df284c94844abf

更改 ID:I81ee5ccb10876cbc1413442a7bc256e888c0fcdd

[3] 在我在 [1] 中下载源代码的 msm 目录中,

git checkout fc777b6d3b2b20ba7270059dd2df284c94844abf

我收到以下错误

fatal: reference is not a tree: fc777b6d3b2b20ba7270059dd2df284c94844abf

如何获得与内核二进制文件相对应的 msm 内核的正确 SHA1?

4

1 回答 1

7

终于找到了解决办法。Google 改变了向 AOSP 代码添加新内核二进制文件的方式。他们没有使用 SHA1 作为提交消息,而是使用快照 ID。

以下是检查 msm 代码正确版本的步骤。

[1] 在 device/lge/hammerhead-kernel 中找到的现有内核二进制文件上运行以下命令。

bzgrep -a 'Linux version' vmlinux.bz2

[2] 这将为您提供以下输出。在您的情况下可能是不同的 SHA1。

Linux version 3.4.0-gadb2201 (android-build@vpbs1.mtv.corp.google.com) (gcc version 4.7 (GCC) ) #1 SMP PREEMPT Wed Nov 20 14:42:53 PST 2013
Linux version CIFS VFS Client for Linux<7>%s: sess setup type %d

[3] 所需的 SHA1 ID 为 adb2201。注意:跳过字母“g”。

[4] 现在用这个 SHA1 在你的 msm 目录中签出。

git checkout adb2201

现在,您在内核源代码中与 AOSP 代码中的内核二进制文件位于同一分支上。

于 2014-02-17T11:39:03.667 回答