New Phone Part 2: Installing LineageOS

As promised, here is my walkthrough on installing LineageOS on the Lenovo (which bought Motorola) Moto Z.

  1. Get a USB -> USB-C cable. The one I received (from QuickMobile.ro) seems to be USB -> MicroUSB, and it was most likely by accident. The charger does not have the pluggable USB cable like most phones nowadays.
  2. Read through the entire installation guide, to get an idea of what's expected of you.
  3. Make sure you download all the software, and that the software you downloaded is at least showing its version when you ask it to.
    • There may be trouble still. I installed LOS on a friend's Galaxy S5; and it required "Heimdall". The version coming with Debian did not work (1.4.0), because Samsung updated something (even for such an old phone). I needed to compile the latest version from source (1.4.1), and then it worked.
  4. Make sure the website where you beg your manufacturer to unlock your bootloader works. In the case of Motorola, it sends you the unlock key via e-mail (even though you are logged in).

Unlocking the bootloader

When I started performing the guide, I was worried about the following error:

(bootloader) 'device-info' is not a supported oem command
(bootloader) See 'fastboot oem help'
But it turns out it was no big deal.

After I performed the steps on Motorola's website to unlock my phone, I got a very strange response via fastboot:

dan@debian:~$ fastboot oem unlock <key here> 
(bootloader) invalid boot state
OKAY [  0.002s]
finished. total time: 0.002s

I thought it's not unlocked, but then I found a forum post; it said the device should show "Flashing unlocked: Yes". For me, it shows "flashing_unlocked", as you can see here:

Pretty, isn't it? :D

However, the device did not restart by itself, as it said on the website and the guide. However, it did reset the USB debugging to off, as said in the LOS guide.

Flashing the recovery firmware

Continuing the guide, I encountered another obstacle at the following step:

6. Now reboot into recovery to verify the installation:
  • With the device powered off, hold Volume Up + Power.

You should NOT press the power key when you see the "START" option (blue speech bubble). You should NOT attempt to turn off the device either. This is because, when you start holding the power key to try to turn it off, it INSTANTLY continues booting. This step DELETES the recovery firmware you just flashed (called TWRP), because the phone wants to forget the trauma =)

What you SHOULD do after flashing recovery is press the DOWN ARROW two times, so that the option shown is the RECOVERY MODE one. 

Only THEN click the power button to confirm it, and you get TWRP :)

Sweet success!

It takes about 30 seconds to load, then you can continue with the guide from "Installing LineageOS from recovery".


I finished installing.
It seems I am not allowed to install APKs (including F-Droid).

Addressing this problem: I found out about this privileged F-Droid. Thankfully installing it is not that hard anymore:
  1. Reboot to recovery again:
    • adb reboot recovery
  2. Copy the F-Droid package to the phone:
    • adb push org.fdroid.fdroid.privileged.ota_2070.zip /sdcard/
  3. Use TWRP to install that package (DO NOT WIPE THIS TIME!).
  4. Reboot to System.
I then had F-Droid installed and ready to update itself.

Fun fact: You can avoid installing Google Services completely; you can use YALP Store. There are some caveats however.


It seems that the GPS is getting a location fix quite slowly. This could be due to missing Wifi/network-based location servers. Will update this post later about this issue; and will also update about what else I test. I couldn't make a phone call yet, because my Romanian SIM card is too big. But the Ukrainian one seems to be working and connecting to the network :)

Also, I am amazed that the files were left mostly intact (photos, videos and documents). But you should back them up just in case. Also, sharing contacts via Bluetooth worked!

Hope you enjoyed this walkthrough! Here are two screenshots from the phone.


The GPS works (but still takes about 30 seconds to load; I tried the "GPS Status & Toolbox" app.
What I tested and also works: taking photos, video recording in 1080p, calls, browsing via mobile data, NewPipe (unofficial YouTube client, supporting background playback), gestures, fingerprint reader. If you want anything else tested, leave me a comment.

What does not work: Recording 4K videos (says "Video Failed"); "High-framerate recording" (option is greyed out), and the video stabilization option doesn't seem to do much (I can see motion blur when pausing on a shaken frame).
Also, the Clever Taxi app requires Google Play services, which I did not install. It might work if you install microG.

No comments:

Post a Comment

Share your insights!