I needed a small device to control my Home Assistant Setup. So I opened the drawer with the old smartphones that we all have, and naturally, I found two Nokia 6.1 phones.

Since the last Android Version that Nokia supports is 10, I decided to install a custom ROM. Doing so, I ran into multiple problems. Sadly, you will also need to use Windows for that.

There are three to four steps we need to perform. First, we need to unlock the bootloader. Then, we need to flash a new recovery image. Third, we flash a custom ROM (I will use LineageOS 21). Lastly, we can install official Google apps like Google Play or YouTube if you want.

Disclaimer: Following this guide will WIPE ALL YOUR DATA. I can’t take any responsibility for any damage to your device. What worked for my two phones will likely work for you, but there is no guarantee. Some features will not work with an unlocked bootloader or a custom ROM, such as paying with Google Wallet or using ID Austria.

Bootloader #

The bootloader is locked, and there is no official way of unlocking it. There is an unofficial way though, that works well, despite it being highly “sus” as the young people would say.

  1. First, you need to install the Nokia USB driver. You can either do that from the emulated CD after connecting it to your computer, or download it from here
  2. Then you need the “Nokia Bootloader Unlock Tool” from this Google Drive folder (the most suspicious part)
  3. Install the Android SDK Platform Tools
    1. If you use chocolatey or winget, install them from there. Then it is in your PATH by default
    2. If not, download them here from Google, and add them to your PATH
    3. Test the installation by opening PowerShell and type adb. You should see the adb help (and not adb: The term 'adb' is not recognized as the name of a cmdlet (...) or something like that)
  4. Reboot into the bootloader. For that you need to
    1. Turn the phone off
    2. Connect a USB Cable and wait for the phone to begin charging
    3. Press and hold volume down + the power button until you see a screen that says “Download mode” in the upper left corner
  5. Since my phone is old, the buttons are sluggy and I found it hard to reboot into the bootloader using them. An alternative way is to
    1. Enable the debugging options by going into Settings -> About phone -> Tab the build number five times, enter your PIN when asked
    2. In the new settings menu “Developer options” enable USB debugging
    3. Run adb devices, a screen on your phone will ask for authorization. Select “remember authorization” and confirm. You should see your device in the list of devices attached
    4. Run adb reboot-bootloader

Now everything is prepared, and we can unlock the bootloader. You will need a One-Time-Password, that can be obtained here for 15 devices every 24h. If there are no codes left today, you will have to try again the next day. But since the Nokia 6.1 is not a widely used phone (anymore), I didn’t have to wait with any of my phones.

Open the Nokia Bootloader Unlock Tool, enter your OTP in the textbox on the left and click “Begin Unlock”.

Screenshot of the OTP tool

It will show the progress in the window on the right. On the phone, there is a warning message now that warns you about the consequences of unlocking the bootlader. Use the volume keys to select “Unlock the bootloader” and press the power button to confirm.

Recovery #

After unlocking the bootloader, you should be again in fastboot mode (where it says Download mode in the corner). If not, reboot like described before. Then verify your computer can see the phone with fastboot devices. The output should look like this:

PS C:\Users\Sebastian Elisa> fastboot devices
PL2GARXXXXXXXXXX         fastboot

Now you need a recovery image. Neither the ones from LineageOS and TWRP worked for me. I could flash them fine, they would start, but no matter what ROM I tried to install, it rejected it with the error “Package is for product PL2,PL2_sprout,Plate2 but expected PL2.”

I ended up using the adapted TWRP from here. Download the temporary boot image (at the time of writing twrp-3.7.0_12-0-PL2_sprout-20230122-1823.img). We will flash it permanently.

Change to the folder with the downloader file and flash it using fastboot flash boot <filename>.

PS C:\Users\Sebastian Elisa\Downloads> fastboot flash boot '.\twrp-3.7.0_12-0-PL2_sprout-20230122-1823.img'
Sending 'boot_b' (48961 KB]                        OKAY (  1.040s]
Writing 'boot_b'                                   OKAY (  0.390s]
Finished. Total time: 1.539s

Reboot to the newly installed recovery with fastboot reboot recovery.

ROM #

After rebooting into recovery, you will have to confirm you want to modify the system partition. Swipe the button to the right to do so.

Unmodified System warning message

After that, select “Wipe” on the bottom right. What we want to do is to wipe everything that is left from the old system. Click on “Advanced Wipe”. So we select the first five items: Dalvik / ART Cache, System, Vendor, Data, Internal Storage.

The wipe screen

Confirm the wipe, ignore any error messages. Go back to the screen where you selected “Advanced wipe” using the back button, and Swipe to Factory Reset. Then select “Format Data”, confirm you really want to do that. The phone is now empty.

Go back to the initial screen and from there go to Advanced, then to “ADB Sideload”. Tick the two boxes on top and drag the button once again to start the sideloading process.

The sideload screen with the Cache deletion selected

Verify the computer sees the phone in sideload mode:

PS C:\Users\Sebastian Elisa\Downloads> adb devices
List of devices attached
PL2GARXXXXXXXXXX        sideload

You are now ready to install a custom ROM. The Nokia 6.1 is supported by LineageOS. At the moment, the latest version is LineageOS 21, which is Android 14. Download it from here.

The installation itself is very simple, use adb sideload <filename>.

PS C:\Users\Sebastian Elisa\Downloads> adb sideload '.\lineage-21.0-20241127-nightly-PL2-signed.zip'
Total xfer: 1.00x

This will take some time. After this is done, the phone asks you if you want to install more updates. If you want to install the Google Apps too, follow the rest of the guide. Otherwise, select no, go back to the initial screen, select Reboot and there “System”.

Google Apps #

Download the Google Apps for LineageOS 21 here. You want the ARM64 build.

Reboot your phone into recovery. If you are still in the selection screen from before, just say “yes”, if not, in the inital screen select Reboot and Recovery. Do not reboot into the freshly installed system. If you do, you will have to perform a factory reset.

After your phone reboots, you will be in LineageOS Recovery, since the installation overwrote the recovery image too. Select “Apply update” and then “Apply from ADB”. Confirm again your computer can see the device in sideload mode. Then, as before, flash the Google Apps update.

PS C:\Users\Sebastian Elisa\Downloads> adb sideload '.\MindTheGapps-14.0.0-arm64-20240925_175633.zip'

If you encounter a warning message that reads “Signature verification failed”, confirm it with “Yes” to continue.

Signature verification failed

After this is done, select “Reboot System now” from the menu.

You have now (hopefully) installed a custom ROM and Google Apps!

Random weird reboots #

The reason I have two Nokias is that I bought a new one, after one started randomly rebooting. At first, this happened every other day, but in the end, every few minutes, no matter what I was doing. However, in recovery or bootloader mode, it does not happen.

I sent the phone to Nokia under warranty back then, and they claimed they could not reproduce the problem, despite the only thing needed is to turn on the phone and wait two minutes.

Now I have managed to capture the log and found out that the problem is the modem, that somehow does not work properly and triggers the reboot.

12-01 12:24:58.286     0     0 E               : Watchdog bite received from modem software!
12-01 12:24:58.286     0     0 E               : modem subsystem failure reason: SFR Init: wdog or kernel error suspected..
12-01 12:24:58.286     0     0 I subsys-restart: subsystem_restart_dev(): Restart sequence requested for modem, restart_level = SYSTEM.

It seems to be a known problem on multiple devices by multiple vendors1234. Sadly, none of the suggested fixes worked for me. I will later try to optain the modem firmware from the official Nokia Android image, and try to flash just that part of it.