Have you ever wondered what it would be like to flash postmarketOS for the last time? I have. But what does that even mean? Well, it means that you are transitioning from having a Linux phone as a toy to having a Linux phone as a tool. My experience running GNOME Mobile on my OnePlus6 with postmarketOS for the past few months, along with recent announcements regarding the future role of AI in Apple products, has lead to me attempt (for the LAST time) to build the most daily drivable Linux phone I can. Here we go:

Quick Links

Flash postmarketOS

Select the most stable branch and full disk encryption. pmOS edge is cool, but too unstable to be your phone.

pmbootstrap init
pmbootstrap install --fde
fastboot erase dtbo
pmbootstrap flasher flash_rootfs --partition userdata
pmbootstrap flasher flash_kernel
pmbootstrap chroot fastboot reboot

If you're having issues when you run the command pmbootstrap flasher flash_rootfs --partition userdata, select "reboot to bootloader" from inside the bootloader and try again.

Connect to Wi-Fi, Upgrade, and Install Apps

sudo apk upgrade -a

Pre-Installed Alpine Apps

  1. Calls
  2. Chats (SMS)
  3. Contacts
  4. Firefox (Web Browser)
  5. Portfolio (File Manager)
  6. Software (App Store)
  7. Image Viewer
  8. Console (Linux Terminal)
  9. Calculator
  10. Calendar
  11. Text Editor
  12. Clocks (Alarms)
  13. Disks (Drive Manager)

Alpine Linux has a great selection of mobile apps, but you just can't beat Flathub for the newest versions of your favourite apps.

Firefox on Flathub does not support arm64, so you're best bet is to stick to the version installed with pmOS.

Social

  1. Tuba (Mastodon Client)
  2. Fractal (Matrix Client)
  3. Dino (XMPP Client)
  4. Telegram Desktop

Media

  1. GNOME Podcasts
  2. G4Music (Music Player)
  3. Shortwave (Radio)
  4. Celluloid (Video Player)
  5. Cozy (Audiobook Player)
  6. Monophony (YouTube Music Player)
  7. GNOME Sound Recorder

News

  1. Newsflash (RSS Reader)

Tools

  1. Document Viewer / Evince (pdf Reader)
  2. Metadata Cleaner
  3. Collision (Hash Tool)
  4. Déjà Dup Backups
  5. Warehouse (Flatpak Manager)
  6. Flatseal (Flatpak Permission Manager)
  7. Watchmate (PineTime Companion)
  8. GNOME Authenticator (2FA Manager)
  9. Iotas (Markdown Editor)
  10. GNOME Weather

Games

  1. Animatch
  2. Shattered Pixel Dungeon
  3. Chess
  4. Blurble (Wordle)

Mapping

  1. Pure Maps
  2. OSM Scout Server

Missing

  1. Mobile-Friendly Mail Client - Thunderbird will have to do for now. It's not very mobile-friendly, but it's stable.
  2. Camera
  3. Video Calling
  4. Signal
  5. In my case, about 12 proprietary apps on iOS. About 10 of these can be accessed via a web browser. These are perfect use cases for the web app function in GNOME Web or Web Apps.

Make It Home

  1. Change the background to something familiar. This is your new home, so make it cozy!
  2. Create folders. Organize your phone like you organize your life. Total mess? That's okay! If you're like me, you will love to organize your apps into folders. I also have an entire page devoted to web apps.
  3. Import your contacts. You can export your iOS contacts by logging into your Apple account in a browser and exporting them to a .vcf. GNOME Contacts supports importing .vcf files. Again, make it home and bring over profile pictures of your contacts and set them up in GNOME Contacts. It won't auto-sync like iOS, but this phone is your phone.
  4. Copy over your music, movies, and tv shows. Import your RSS and podcast feeds. I always feel at home with my favourite music and some episodes of my favourite show.
  5. Play with the Search bar. It's great and will bring up all kinds of useful information including the time anywhere in the world, apps you have installed, apps available in the software store, options in your Settings, and lots of other stuff.
  6. Swipe down for more options. Swiping down will open your quick settings and allow you to adjust your screen brightness, audio volume, and network connections. It even has the option to take a quick screenshot.
  7. Phones are meant to communicate. Right now there is no perfect solution for push notifications of your various social media apps. If you want to be notified that your friends are trying to reach you, either keep your favourite app running in the background or ask them to communicate over SMS, XMPP (no OMEMO), or Matrix. These are all supported in your Chats app. pmOS is moving to systemd, and I'm hopeful this will simplify push notifications.
  8. Backup your files. One way I like to invest in my Linux mobile experience is to make backups regularly. This brings a sense of comfort, overcoming some of the anxiety that comes with letting go of your iPhone or Android phone.

Folders are still a little finicky. Rebooting can help fix the issue with dragging and dropping apps into folders.

Copying files to your pmOS phone can also be tricky. I suggest you try a LAN file transfer app like Warp. Another option is to setup a local Samba server that you can reach using Files on your phone. Finally, you can also install JumpDrive on your desktop and run it with your phone plugged in to gain access to it's content.

There are still some modem issues on the OnePlus6. I'm told that these are largely resolved by booting up the Calls app after boot. You can close it after that. Also, don't use Suspend. These two steps together should get you reliable calling. To save on battery, you can disconnect from Wi-Fi when you're not using it. Hopefully Suspend will be reliable with calls one day.

Conclusion

I have now flashed pmOS for the LAST time..... probably. pmOS developers may not make the upgrade to systemd an OTA update. Either way, my point here is that commitment is scary in all forms, but particularly as it relates to the devices we depend on for so many aspects of our lives. The good news is that Linux mobile has become very realiable, and we have less to be worried about than ever before.

Finally, do I transfer my 2FA tokens over to my Linux phone..... now that IS scary! Best setup 2FA on another device like my desktop before I try that.

Thanks to all the developers! Thanks for my freedom!