Spent a week troubleshooting various environmental issues, thankfully there were no errors during the compilation, or I would have gone crazy.
-
Pixel 4
-
Ubuntu 22.04
1. Syncing Code
Since my computer can sync, I later tried to force sync directly and then bought 2TB of data, using scientific syncing or removing the proxy to use scientific methods directly. In the end, due to network fluctuations, I encountered a lot of early EOFs, resulting in about half of the downloaded files being missing.
There’s really nothing I can do about the company network issues, so I switched to domestic sources.
I successfully synced the code according to Tsinghua source instructions, but when executing breakfast flame, I found that there was no flame compilation option at all. Later, when pulling the driver files, I also discovered that the ./extract-files.sh for pulling drivers was not retrieved.
I searched for a long time, thinking I would manually download the device code, and then found.
There was only an extract-files.sh file inside, and no other code. Also, running it immediately reported an error that the coral folder was missing.
The readme states that the flame device tree files are in device/google/coral. I checked the code I synced, and there was no coral folder in the device/google folder
After a lot of hassle, I finally found out that coral is the code for Pixel 4 XL, and Pixel 4 and Pixel 4 XL use the same set of device codes.
Compilation Errors
During compilation, I encountered two errors: one was that the dtbo.img file was missing in the output folder, and the other was a kernel compilation error.
Manually pulling the kernel code again resolved the issue. For example, for Pixel 4, the kernel version is 4.14, so I should look for android_kernel_google_msm-4.14.
Then take the content after the last underscore as the filename. For example:
Flashing
I have seen many articles suggesting not to use TWRP, but to use LineageOS’s own recovery. You can use the method from the LineageOS official website to extract.
https://wiki.lineageos.org/extracting_blobs_from_zips#extracting-proprietary-blobs-from-payload-based-otas
The main tutorial I referred to for flashing is this one: LineageOS Flashing Tutorial – BeiGod – Blog Garden.
After flashing the LineageOS recovery file, press the power button + volume up to enter recovery mode.
Data Wipe
Flashing
adb sideload E:\lineage.zip
Note: If it is an unsigned system, it will prompt a verification failure; just ignore it and continue flashing.