Issues porting to Pixel 3
Hello, first time porter here.
Porting to the Pixel 3 (blueline) has been somewhat confusing as the kernel and whatnot is mixed in with the Pixel 3 XL (crosshatch).
I'm currently stuck on the Halium build step.
I'm not sure how to format my progress, so I'll just dump my progress so that I don't miss anything.
I'm having problem finding the kernel configuration. It should be in the
BoardConfig.mkfile, but crosshatch and blueline appear to share one under
device/google/crosshatch/blueline/BoardConfig.mkhas the statement:
I've omitted the steps for syncing the repo.
My manifest (google_blueline.xml) is as follows
<?xml version="1.0" encoding="UTF-8"?> <manifest> <project path="device/google/blueline" name="android_device_google_blueline" remote="los" /> <project path="device/google/crosshatch" name="android_device_google_crosshatch" remote="los" /> <remote name="los" fetch="https://github.com/LineageOS" /> </manifest>
Do I need to add a line to fetch
android_kernel_google_crosshatch? I'm confused.
halium/devices/setup bluelineran with no errors.
hybris-patches/apply-patches.sh --mbran with no errors.
I extracted the vendor blobs using the
extract-files.shin the crosshatch device folder (blueline's links to that one).
It starts differing after I ran
including device/google/crosshatch/vendorsetup.sh including vendor/lineage/vendorsetup.sh
I'm missing a few lines that are shown in the guide.
Since the BoardConfig for blueline includes
BoardConfig-commonfor crosshatch, I ran
grep "TARGET_KERNEL_CONFIG" device/google/crosshatch/BoardConfig-common.mkwith no results.
Am I missing something? Sorry if this should be obvious.
Thanks in advance.
@cornonthecob if you haven’t already done so, it might be helpful to talk to the team that ported the 3a. It looks like the person that did the kernel is friedldotme on GitHub
Okay, thank you! I'll try that.
Flohack last edited by
Those Pixel devices have always a common part and then device-specific parts for the normal and the XL variant.
For example the manifest for the 2/2 XL pair looks like that: https://github.com/Halium/halium-devices/blob/halium-9.0/manifests/google_walleye_taimen.xml
You can see that "wahoo" repos are the common ones, while muskie and taimen are the device-specific ones.
Normally, because of the small differences you are going to fix all stuff in the common device and kernel repo. There should be little need to do device-specific changes.
Other than that: Take the vendor repo from TheMuppets. Extracting vendor blobs yourself can lead to really hard-to-detect errors. <project path="vendor/google" name="TheMuppets/proprietary_vendor_google" /> is all you need.
Flohack last edited by
Also, please join our Telegram porting group https://t.me/ubports_porting to get more real-time answers.