You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The kernel reference I used matches the kernel reference Google used when building the kernel for this factory image (see footnote below on how I determined this).
However, when running make DEVICE=crosshatch manifest (and modifying the Makefile to not run config due to another issue), the manifest script will fail, because it doesn't know what to do if the "reference=" field in a manifest xml is a hash.
Here is the relevant bit from the manifest file the command tries to pull for the kernel, against that tag:
Unfortunately, the solution isn't so simple. This will allow the script to continue, but if you try to repo fetch with the manifest that gets generated as a result, this happens:
Fetching projects: 90% (9/10) kernel/msm-modules/wlan-fw-apifatal: Couldn't find remote ref refs/heads/4b1f275e6b3826c86f791ae8c4d5ec3563c2fc11
fatal: Couldn't find remote ref refs/heads/4b1f275e6b3826c86f791ae8c4d5ec3563c2fc11
error: Cannot fetch platform/prebuilts/clang/host/linux-x86 from https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86
Fetching projects: 100% (10/10), done.
error: Cannot checkout platform/prebuilts/clang/host/linux-x86: ManifestInvalidRevisionError: revision refs/heads/4b1f275e6b3826c86f791ae8c4d5ec3563c2fc11 in platform/prebuilts/clang/host/linux-x86 not found
error: in `sync --current-branch --no-tags --force-sync --no-clone-bundle --jobs 12`: revision refs/heads/4b1f275e6b3826c86f791ae8c4d5ec3563c2fc11 in platform/prebuilts/clang/host/linux-x86 not found
Makefile:29: recipe for target 'fetch' failed
I figured I'd add this extra footnote here, since it shows why I chose that kernel reference/tag, and the method used here may help in finding a way to auto-detect the kernel reference when running config. Here is a quick bash snippet:
# From https://source.android.com/setup/start/build-numbers
BRANCH=android-10.0.0_r21
# Download the kernel binary for ${BRANCH}, and find the string that indicates the git commit was built with
curl https://android.googlesource.com/device/google/crosshatch-kernel/+/refs/tags/${BRANCH}/Image.lz4?format=TEXT | \
base64 --decode | \
lz4cat | \
grep -a 'Android' | \
grep -a 'Linux version' | \
cut -d ' ' -f3 | \
cut -d'-' -f2 | \
sed 's/^g//g'
# This will output 9f181f6db9d7
# You can also find this string on a real device running android-10.0.0_r21's corresponding factory image (QQ1A.200105.002) by issuing the command uname -a. It will be printed right after -g in the output.
# Visiting that commit ID at https://android.googlesource.com/kernel/msm/+log/9f181f6db9d7 will show you that this commit belongs to the tags android-msm-crosshatch-4.9-android10 and android-msm-crosshatch-4.9-android10-qpr1, among others. However, https://android.googlesource.com/kernel/manifest/+refs only has a tag for the latter (-qpr1 is required), so the latter one has to be used.
The text was updated successfully, but these errors were encountered:
I have populated my config.yml with the latest correct tags/hashes/etc for crosshatch:
The kernel reference I used matches the kernel reference Google used when building the kernel for this factory image (see footnote below on how I determined this).
However, when running
make DEVICE=crosshatch manifest
(and modifying the Makefile to not runconfig
due to another issue), themanifest
script will fail, because it doesn't know what to do if the "reference=" field in a manifest xml is a hash.Here is the relevant bit from the manifest file the command tries to pull for the kernel, against that tag:
As you can see, the second project has a reference that is a hash.
Here is the error output from
manifest
:I suppose it's more of a quick fix, but you could replace manifest:144 with the following to catch the error:
This will allow the script to continue.
EDIT:
Unfortunately, the solution isn't so simple. This will allow the script to continue, but if you try to
repo fetch
with the manifest that gets generated as a result, this happens:I figured I'd add this extra footnote here, since it shows why I chose that kernel reference/tag, and the method used here may help in finding a way to auto-detect the kernel reference when running
config
. Here is a quick bash snippet:The text was updated successfully, but these errors were encountered: