Question (TL;DR)
How can one (manually) sideload a LineageOS zip file that is pushed on the phone using TWRP?
Context
while installing this lineage-17.1-20210430-nightly-FP2-signed.zip
, with the following command:
adb sideload lineage-17.1-20210430-nightly-FP2-signed.zip
I observed that the lineageOS hangs in the loading screen for several hours. So first I verified that the zip
file is correctly downloaded, using the sha256, which it is. Next, I noticed that the cause might be that the zip is streamed directly from the host to phone. So I learned an alternative option might be to use:
adb push lineage-17.1-20210430-nightly-FP2-signed.zip /sdcard/
Followed by a command to sideload the zip from the phone.
adb sideload method
For completeness, the direct adb sideload lineage-17.1-20210430-nightly-FP2-signed.zip
was performed using the following steps:First, I wiped the system using Wipe>Advanced Wipe> select: Dalvik, System, Cache, Data, and swiping right
, then manually activated sideload mode by pressing (and swiping): Advanced>ADB Sideload>Swipe to Start Sideload
which outputted:
Updating partition details... ... done RescueParty Full SELinux support is present MTP Enabled ? Starting ADB sideload feature...
An observation is made here that the loading indicator keeps on loading without any progress. This might also be a reason the sideload does not yield a successful boot up of LineageOS.
Next, I tried I first tried the CLI approach:
adb sideload /sdcard/lineage-17.1-20210430-nightly-FP2-signed.zip
Which outputs:
Installing zip file
/sideload/package.zip
Unmounting System Warning: no file_contexts Target: Fairphone/FP2/FP2:6.0.1/FP2-gms-18.04.01/FP2-gms-18.04.01:user/release-keys Patching system image unconditionally Script succeeded: result was [1.000000] Formatting Cache using make_ext4fs... Wiping Cache & Dalvik... Cleaned: /data/dalvik-cache... -- Dalvik Cache Directories Wipe Complete!
And I pressed Reboot System
. This results in the (seemingly) endless booting of the LineageOS loading screen.
adb push method
Before I tried other builds for the FP2, I was mainly curious to learn how the sideloading would work using adb push
. Hence, I tried:
adb push lineage-17.1-20210430-nightly-FP2-signed.zip /sdcard/
And started looking for ways to sideload that zip from the phone. The first thing I tried was, after starting the sideload mode manually and verifying that the TWRP was in sideload mode with command adb devices
:
adb sideload /sdcard/lineage-17.1-20210430-nightly-FP2-signed.zip
Which returns:
adb: failed to stat file /sdcard/lineage-17.1-20210430-nightly-FP2-signed.zip: No such file or directory
Next, I tried exploring the TWRP options manually. One of the options could possibly be: Install>browse to /sdcard> and tap the: lineage-17.1-20210430-nightly-FP2-signed.zip
. However that yields a warning:
This operation may install incompatible software and render your device unusable
And I think installing might be something else than sideloading, hence I think this might brick the device/not be what I am looking for.
Note
This is not about the xy-problem
of making LineageOS boot on the Fairphone, it is about how to load LineageOS using TWRP from the phone instead of from the host.
adb reboot fastboot
andfastboot format userdata
which yielded a set of errors starting with:Couldn't parse erase-block-size '0x'.
. Then rebooted into TWRP and did a format of:Dalvik, System, Cache, Data
thenadb sideload ..zip
, then pressedback>Wipe>swiped format
and then rebooted, and then LineageOS actually booted correctly! I didnt (yet) derive if it was the format, or wiping ofdata
(not userdata) in TWRP after sideloading LineageOS that resolved the error. The instructions don't mention wiping data afterwards.fastboot format userdata
), the issue was resolved. So I think it is valid to indicate that the recommendation to remove userdata after sideloading LineageOS is not included in the instructions you link to. Whereas, from my experience, and your comment, it seems important/essential.