How to install LineageOS in TWRP using `adb push`?

Question (TL;DR)

How can one (manually) sideload a LineageOS zip file that is pushed on the phone using TWRP?


while installing this, with the following command:

adb sideload

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 /sdcard/

Followed by a command to sideload the zip from the phone.

adb sideload method

For completeness, the direct adb sideload 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
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/

Which outputs:

Installing zip file /sideload/
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 /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/

Which returns:

adb: failed to stat file /sdcard/ 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: 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.


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.