DeGoogle a Smartphone with CalyxOS in under 30 minutes
The article below is about Android devices only.
Not long before I started this blog (just over two years now, with a post about leaving Facebook) I installed CalyxOS on a Google Pixel 3a. I had been using /e/OS successfully for a couple of years, but I was interested in a deGoogled phone operating system that would enable locking the bootloader after installation.
I used CalyxOS for a time, and then passed that smartphone on to my youngest child, who used it until it dropped and broke. Screen repair is not worth the cost on an older phone, I have learned since.
I have moved on to yet another deGoogled mobile OS—GrapheneOS—,but this week I re-flashed CalyxOS onto the old Pixel 3a with cracked screen to take some notes on the overall experience.
I set a timer. I was impressed to discover that from start (turning USB debugging on, etc.) to finish (installing Aurora store, creating a second user for proprietary applications), the installation was completed in under thirty minutes!
The right hardware and support
If you are interested in trying CalyxOS, be aware that it can only be flashed on a limited range of smartphones, and that some of these, like my Pixel 3a, are past their support date, in which case the phone will not be secure. I installed CalyxOS onto my Pixel 3a for testing purposes only; for daily use, I would need a Pixel 6 or higher.
The Calyx Institute has great documentation on their website. If you are interested, you can check device compatibility here and support here.
You will find that the Pixel 3a is in the 'No Longer Supported' category, and that you can install CalyxOS on smartphones by Google (Pixel 6 and up, with 'extended support' for Pixels 4a, 5 and 5a), Motorola (Moto G32, 42 and 52) and Fairphone (FP 4 and 5). SHIFTphone 8 is listed under 'Upcoming'.
If it seems odd that the most likely choice for a deGoogled phone is a phone made by Google—well, it does to me too! Once the software is removed, however, the Pixel is just another smartphone, and one that experimental ROMs can be flashed onto.
Installation
As someone who has tried to install many different tools and types of software as an amateur-tech person, I can say that the installation guide (for the Pixel 3a here) by Calyx is nearly flawlessly clear. I used the Arch Linux installation guide, but you can install it using Debian/other Linux types, Windows, or MacOS.
If flashing ROMs doesn't sound like your cup of tea, then you can pay the fee to become a member of The Calyx Institute and get someone else to do it for you.
I describe the guide as 'nearly flawless' because I did miss one step. Once you have followed the steps required to get your phone ready for flashing over a USB data cable, you then need to connect your phone to your computer. What I missed in the instructions is that you need to look at your phone screen. If you have done everything correctly, your phone will display a pop-up window asking you to 'allow USB debugging'. If you don't respond to that, then you'll get a red 'no devices to be flashed' error message each time you try to run the installer. It might seem obvious, but I managed to miss this several times.1 You need to pay attention to what's happening on your PC as well as your phone screen during installation.
Secondly, if you are new to this, you don't need to do anything after the bootloader is successfully unlocked, for a while at least. Things are happening in the background, so don't be tempted to press 'Start' on your phone. After half a minute or so, you'll see a new screen with 'fastbootd' in red letters.
The only other action required is to re-lock the bootloader which you will be clearly prompted to do, and that is easy enough, using the volume and power button, as explained in the guide.
Flashing and installation took 3 minutes on my system, which was impressive!
Downloading applications
Once you're in the newly installed Calyx system, the phone will ask you to set up Wi-Fi, set a password and so forth. After that, you're asked about installing additional apps. From that list, I recommend selecting these:
- Aurora Store
- MuPDF viewer
- Organic Maps
- Signal
The F-Droid app store is installed at this point by default, so, with Aurora, you will have two app stores on your device. When F-Droid first starts up, it will need a minute to update the repositories before you will see any applications in the store's home screen.
Aurora Store gives access to applications on Google's Play Store. When first starting Aurora, I recommend selecting 'Enable Aurora Store to open links from the Play Store' (under App Links in Aurora's own startup menu), and then select adding the link 'play.google.com' when prompted. This will result in Aurora Store opening any direct links to apps (on websites, blogs, etc.) that would normally connect to the Play Store. You can finish setting up Aurora by logging in with Anonymous.
CalyxOS comes with the Chromium browser. I would also recommend giving Mull browser a try, which you can download from F-Droid. Lastly, if you need an authentication app, I recommend trying Aegis Authenticator Free, also available on F-droid.
Checking my timer, I noticed the entire process, from connecting the phone with a USB cable to my PC, to installing Aegis, took 15 minutes.
Creating a second user
From experiments with GrapheneOS recently, I have learned that it can be beneficial to create a second user, in order to separate privacy-focused apps from proprietary apps you may need. You can create additional users on CalyxOS too.
While CalyxOS has the option to create a work profile within a single user profile, it is my understanding that setting up one or more separate users creates even better separation between different use-cases (personal, work, financial, trash, etc.).
To set up a new user, go to
Settings - System - Multiple Users
Toggle Allow on, and create a new user. You will then be able to switch to that new user profile right away. It will start the initial profile setup again, though you will only be asked to enter the Wi-Fi password for the first user.
Be sure to create a new password or code for each new user profile.
You will need to install additional apps that are not installed by default with the operating system (such as Aurora Store) separately on each user profile.
Look for the Activity Launcher app on F-Droid and install that in both user profiles, so you can create shortcuts to the Multiple Users page in Settings on every user's home screen. But if you don't wish to set up shortcuts, just tap Settings and type and enter 'mu' to get to the Multiple Users link quickly each time you want switch.
An interesting feature with users is that you can wipe additional users with one press of a button from the main user profile, the one you first installed. Clandestine stuff!
Problems
If you follow the 'Prepare your Android Device' instructions in the manual, you will be directed to
Setting - System - Advanced - Developer Options
to toggle settings, but on my phone, {}Developer Options sat directly under System.
When I went through the setup pages for my second user, installing additional applications in the setup menu failed. This left my second user profile without any app store, as F-Droid hadn't installed either. So I went directly to the F-Droid site via Chromium and downloaded and installed it from there, and then installed Aurora Store via the F-Droid store.
As mentioned in the guide, you may have to try different USB ports and cables, if things don't work at first. The first cable I tried didn't work.
Finally, this: What would happen to privacy mobile operating systems like Calyx and Graphene if Google began to block the installation of custom ROMs on their Pixel range? Access to deGoogled devices would be reduced signficantly. GrapheneOS, for example, can only be installed on a Google Pixel phone! I'm therefore glad to see more independent projects like the Fairphone and now the SHIFTphone emerge and be successful.
Conclusions
While flashing a ROM on your device can be intimidating (I know; I've been there, and on my first attempt was 99% sure I was about to foolhardily destroy my phone), The Calyx Institute's auto-installer and clear documentation makes it easy.
With a custom operating system like Calyx you can have a smartphone that is deGoogled and works just like any other Android phone. Projects like /e/OS, LineageOS, CalyxOS and GrapheneOS and successful precisely because these operating systems have a mainstream quality to them.
On my device, can I run a banking app, government-related ID apps and mainstream stores and other such apps without problems, all on a second user profile. It feels good to have these separate from my main profile, which is private and only uses open source applications.
Additionally, you can easily hand a CalyxOS device over to a child; they won't even notice the difference between a deGoogled OS and Google's Android, and it will introduce them to the idea of choice.
Documentation
How (and why) to deGoogle your life and protect your privacy
De-Googling Your Smartphone (as a beginner)
Calyx
Other
-----Discuss on Mastodon-----
Subscribe to my blog via email or RSS feed.
Find me on Mastodon and Twitter.
Back to Blog
To be honest, I don't remember seeing the pop-up window at all the first couple of tries last night, but after trying a few different ports and cables, I finally did.↩