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.
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)
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.