【问题标题】:Unable to checkout msm source code for Android Hammerhead kernel无法签出 Android Hammerhead 内核的 msm 源代码
【发布时间】:2014-03-01 16:42:24
【问题描述】:

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

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

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

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

commit 8b392a30f1228e890fa0f7b39598f3b1c73cea94

作者:Android 开源项目
日期:2013年12月5日星期四15:38:00 -0800

快照到 fc777b6d3b2b20ba7270059dd2df284c94844abf

更改 ID:I81ee5ccb10876cbc1413442a7bc256e888c0fcdd

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

git checkout fc777b6d3b2b20ba7270059dd2df284c94844abf

我收到以下错误

fatal: reference is not a tree: fc777b6d3b2b20ba7270059dd2df284c94844abf

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

【问题讨论】:

    标签: android-kernel


    【解决方案1】:

    终于找到了解决办法。 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] 现在在您的 msm 目录中使用此 SHA1 签出。

    git checkout adb2201
    

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

    【讨论】:

    • 你可以得到相同的信息,我认为,通过运行命令“dd if=zImage-dtb bs=1 skip=$(LC_ALL=C od -Ad -x -w2 zImage-dtb | grep 8b1f | cut -d ' ' -f1 | head -1) | zgrep -a 'Linux version'" 从设备/lge/hammerhead-kernel 内部
    猜你喜欢
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 2016-08-03
    • 2013-06-03
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多