Background

I found DivestOS while scanning Privacy Guides in the section on Android operating systems. Although it is a soft fork of LineageOS, the developer has managed to create signed builds, making verified boot and a locked bootloader possible on several non-Pixel devices. Additionally, DivestOS includes kernel patches and system hardening patches originally developed by GrapheneOS.

It's also remarkable that DivestOS along with a collection of other open-source projects are managed by a single developer. Take a peek at his projects listed on Divested Computing Group. It's an impressive amount of development and testing.

After reviewing the installation instructions, I decided to try DivestOS on a Pixel 2 XL and use it as my personal phone for a month. Here's what I learned...

Installation on Pixel 2 XL

The installation instructions given on the DivestOS site are generic to any phone. Below are the exact steps I took to install DivestOS 19.1 on the Pixel 2XL. I'm using Debian Linux with android-tools-adb and android-tools-fastboot already installed. Overall the installation went smoothly. I held my breath during the last step to lock the bootloader. Thankfully, it worked and I was able to boot into my new OS.

Section 1 - Prepare the device

First, ensure these settings are enabled on the device.

  • Connect to WiFi internet
  • Enable Developer Options
        Settings → About Phone → tap Build number 7 times
  • Enable USB debugging
        Settings → System → Developer Options → USB Debugging
  • Enable OEM Unlocking
        Settings → System → Developer Options → OEM unlocking

Section 2 - Unlocking

Step 1: Connect the device to the host computer using a USB cable

Step 2: Verify the the host can talk to the device through adb

adb devices

Step 3: Reboot to the bootloader with adb command

adb reboot bootloader

Step 4: Verify the host finds the device

fastboot devices

Step 5: Unlock the bootloader

fastboot flashing unlock

Section 3 - Flash recovery partition, a/b partitions, sideload the OS, and flash AVB custom key

Step 1: From the DivestOS Device Downloads page, download the installation files for the Pixel 2 XL (OS image, fastboot recovery image, AVB key, and A/B sync file)

Step 2: Go to the folder where divested-version-date-dos-device-fastboot.zip exists

fastboot update divest-version-date-dos-device-fastboot.zip

Note: Device will reboot and perform factory reset, then boot into DivestOS.

Step 3: Perform initial setup on the phone, re-enable USB debugging and continue below

Step 4: Reboot to recovery using volume buttons to navigate or if powered off hold VOL DOWN + PWR buttons

Step 5: For A/B devices only without firmware enabled (this applies to the Pixel 2 XL), on the device choose "Apply Update" then "Apply from ADB"

Step 6: On the host, via sideload enter the command

adb sideload copy-partitions-device.zip

Step 7: On the device, choose "Apply Update" then "Apply from ADB"

Step 8: On the host, via sideload enter the command

adb sideload divested-version-date-dos-device.zip

Step 9: On the device while still in recovery, perform a factory reset

Step 10: For AVB devices (this applies to the Pixel 2 XL), on the host enter the command

fastboot erase avb_custom_key
fastboot flash avb_custom_key avb_pkmd-device.bin

Step 11: Reboot into DivestOS by selecting "Reboot system now"

Section 4 - Lock the Bootloader

Note: We are reminded to make sure everything functions correctly after booting into the system.

Step 1: Test the following: verify the device boots, check overall functionality, make sure updates can be received, and check ability to factory reset

Step 2: Reboot to the bootloader

adb reboot bootloader

Step 3: Lock the bootloader

fastboot flashing lock

Note: It is recommended to keep OEM unlocking enabled in Developer Settings

Day 1 - Initial Setup and Customization

After the installation, I was excited to start using the phone. I installed my SIM card and powered on the device. After a brief splash screen I was greeted with a few standard questions (timezone, connect to W-Fi, set fingerprint or PIN, etc). Nothing out of the ordinary there. At the home screen I was immediately impressed with the stock wallpaper and the overall look. I prefer dark mode and a few other custom tweaks so I went to settings to customize to my preferences.

Default Apps: There is a nice selection of default apps included with DivestOS. The most notable is Mull, created by the DivestOS developers it is a fork of Mozilla that includes impressive privacy features. Some other apps that I had not used before were the text-to-speech app eSpeak and the open-source calendar app Etar. In the screenshot below, I had already installed Organic Maps, Neo Store, and Weather app. All other apps came with the OS.

Notice the third screenshot below shows the Android version 12. DivestOS by way of LineageOS is the only custom ROM that has an official build of Android 12 for the Pixel 2 XL. Also notable is the security update, vendor security patch level date, and kernel versions. If you are concerned about having the latest OEM firmware security patches, the Pixel 2 XL stopped receiving support in 2020, so this is probably not the phone for you.

divestos_screenshot_homescreen
divestos_screenshot_app_drawer
divestos_screenshot_settings_version

Images: (1) home screen, (2) app drawer, (3) software versions

Daily Use - First Impressions

All Major Functions Working

After using the phone as my daily driver for about a week, I'd say 99% of functionality is there.  There was no issue that I personally considered a show stopper. All the major functionality like phone dialing, SMS texting, Bluetooth, Wi-Fi, camera, speakers, and microphone worked flawlessly. For about the first twelve hours, I couldn't get a GPS sync in Organic Maps. However after that, GPS synced immediately every time.

Installing Apps

I installed most of the apps I use on a daily basis (Aegis, AntennaPod, Aurora Store, Brave, Briar, Bromite, Conversations, K-9 Mail, LBRY, NewPipe, Open Note Scanner, Orbot, Organic Maps, Signal, Tor Browser, and Weather) and had no problems with functionality.

Minor Glitches

There were a few minor glitches that I noticed after a couple weeks:

  • Certain podcasts did not stream and download even after disabling Orbot and reinstalling AntennaPod
  • Occasionally after powering on the phone, the welcome screen displayed a strange truncated version of the wallpaper instead of the normal lock screen
  • A message displayed while in Settings app that said "The app was built for an older version of Android"
  • There are no notifications from K-9 Mail; I have to open the mail app and pull down from the top to load new mail (even with all notifications turned on)
  • Connection to mobile carrier has a 10-15 second delay when first powering on
  • OEM unlocking is now greyed out in Developer options (bootloader can still be locked/unlocked)
divestos_screenshot_antennapod
divestos_screenshot_welcome
divestos_screenshot_settings_warning

Images: (1) AntennaPod error message, (2) truncated welcome screen, (3) settings warning message

Final Thoughts

It has been 30 days and I can honestly say I enjoy using DivestOS, especially on the Pixel 2 XL. I would prefer the welcome screen look normal and to receive mail notifications, but that is a small price to pay to enjoy Android 12 on a de-googled Pixel 2 XL. If you appreciate verified boot and want to use an older phone (especially a non-Pixel device), then you should seriously consider DivestOS.

We currently offer a de-googled Pixel 2 and Pixel 2 XL pre-installed with DivestOS. Browse our de-googled mobile phone shop for more details.