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.mk
file, but crosshatch and blueline appear to share one underBoardConfig-common.mk
(device/google/crosshatch/blueline/BoardConfig.mk
has the statement:include device/google/crosshatch/BoardConfig-common.mk
)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.Running:
halium/devices/setup blueline
ran with no errors.
Running:hybris-patches/apply-patches.sh --mb
ran with no errors.I extracted the vendor blobs using the
extract-files.sh
in the crosshatch device folder (blueline's links to that one).
It starts differing after I ransource build/envsetup.sh
: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-common
for crosshatch, I rangrep "TARGET_KERNEL_CONFIG" device/google/crosshatch/BoardConfig-common.mk
with 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.
-
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.xmlYou 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.
-
Also, please join our Telegram porting group https://t.me/ubports_porting to get more real-time answers.
BR Florian
-
@cornonthecob I know I'm resurrecting a thread, but there aren't many about the pixel 3. Did you ever have any luck getting your port to work? Thanks
-
@mashume I would be also interested in that answer
-
-
@applee Sorry to also be resurrecting an old thread... did this make any progress? I'm keen to see UT on the 3.
-
@fhendrikx
I haven't seen much movement on this, though I would like to. I too have a p3 I'd like to use UT on.