Real Linux on a Smartphone: PinePhone and openSUSE Tumbleweed
Why is that phone so special? My wife asked me. I was exited like a child with my shiny new toy: the PinePhone KDE Community Edition.
So how do you explain the history of failing efforts to get ‘real’ Linux on a smartphone in 5 minutes? How do you explain the difficulties of developing an operating system for the always changing ARM ecosystem?
I tried: It’s not normal that you can install an Operating System on a phone. Normally you have 2 choices: you buy an Android phone or you buy an Apple iOS phone. In both cases, the phone hardware (read: boot loader) is locked down. So you can’t change the Operating System. At least not easily (because you can root some Android phones).
Over the last 10 years, there have been many companies that tried (and failed) to develop their own Operating System that can compete with Android and/or Apple iOS. In historical order:
- Nokia Meamo/MeeGo in 2009/2010
- Palm/HP WebOS in 2009/2010
- Microsoft Windows Phone 8 / 8.1 / 10 in 2012/2014/2015
- BlackBerry 10 in 2013
- Mozilla Firefox OS in 2014
- Canonical Ubuntu Touch from 2014-2017
- Jolla Sailfish OS / X (on Sony Experia) from 2013 – present
- Samsung Tizen from 2017 – present
These companies failed to gain any traction in the market. That list makes it abundantly clear that it’s hard to develop a successful smartphone hardware and software combination.
But the open source community doesn’t take No for an answer. The great thing about the free and open source movement is that commercial success is not a requirement for continued development. Which means that 3 open source communities are still hacking to develop a ‘real’ open source Mobile Operating System:
- Ubuntu Touch, was continued by the UBPorts project in April 2017
- KDE Plasma Mobile, started development in July 2015
- Phosh, a GNOME shell for Purism Pure OS, started development in 2017
This development effort would be in vain if there was no smartphone that could run this software. But 2 hardware initiatives started roughly around the same time, and offered to build a true open source friendly smartphone:
- Purism Librem 5, announced in August 2017
- Pine64 PinePhone, announced in October 2018
This resulted in a perfect storm, because the Librem 5 started shipping in November 2019 and the PinePhone started shipping in January 2020. Both devices released in a rough state, but both software and hardware have improved over the months in 2020.
I played around with KDE Plasma Mobile during the FOSDEM conferences of 2016, 2017, 2018 and 2019. Because of the Covid-19 pandemic, I couldn’t attend in 2020 and 2021. So that is my excuse to purchase a PinePhone KDE Community Edition, which was announced in December 2020. At the end of January 2021, I received my PinePhone with Manjaro Linux and KDE Plasma Mobile.
Unboxing the PinePhone
For me this was a very exiting event. I was very curious how the PinePhone would feel in real life. I expected it to be very plastic feeling. It did feel that way, but it didn’t feel cheap. It was well constructed.
I particularly like the inside of the phone. I like the physical dip (kill) switches, that are tucked neatly into the back of the phone. Personally, I will never use these, because I just don’t care. The same thing goes for the Pogo pins. Cool that they are there, but I will never use them. What I will use is the SD card slot. But I still need to figure out how to mount that persistently.
The screen is also fine. With 6 inches, the screen is sufficiently large. It has a resolution of 720×1440 pixels, which means that there is enough detail. And the colors are fine; for 150-200 dollars you can’t expect an AMOLED quality experience. The phone is also relatively thin.
Finally it has an USB-C connector on the bottom, which is a future proof solution. The front camera is 2 Megapixels and the back camera is 5 Megapixels. I don’t know how good they are, because the firmware and camera software are still in heavy development. In short: they don’t work except for showing a black and white image.
The software experience
After I put in the SIM card, I booted up the phone. The login screen is very nice, with the clock on the center of the screen. However, entering the PIN code (this always needs to be numbers) is a bit awkward because the ‘0’ is located on the right instead of located at the bottom, where you would expect it to be.
When you have unlocked the phone, it looks like a standard Android experience. You have a app drawer that you open by swiping up. Hold on to an icon and you can place it on the home screen. Touch the icon and it will open that app. Long press the home screen and you can add widgets or change the wallpaper. I haven’t found a way to setup multiple virtual desktop screens, so you can’t swipe left or right. You can add an Activities widget or a Pager widget, but it doesn’t do much at the moment.
If you swipe down, you will reveal the control center. Not everything is fleshed out. So sometimes touching an icon will result in you being redirected to the settings app. The flashlight works however! And the night color option works as well.
How to kill your PinePhone on Day 1
The first thing that I wanted to do was to update the software. I knew that the phone was running Manjaro linux. I didn’t have any experience with Manjaro, so I searched the internet how to update the system and found this handy instruction on the PinePhone wiki. This worked like a charm; via the Terminal app I was able to update my system. It was very cool to see all updates on the command line interface.
Next I wanted to install some software. And I wanted to use a GUI Software Manager. So I installed Pamac. That went fine. And although it didn’t fit my screen fully, I could search and install software. So I started by installing:
The install didn’t go as planned. After restarting the phone, it didn’t boot anymore. Which meant I had turned my new toy into a brick. At first I was a bit disheartened. But then I read that the PinePhone always prefers the SD card over the internal memory. Which means that I could easily replace the operating system with something new. I decided that this was the perfect opportunity to install openSUSE on my PinePhone.
Installing openSUSE Tumbleweed on the PinePhone
I followed these installation instructions. The first thing I did was download the Jumpdrive image. I put in a small MicroSD card into my laptop and when I doubleclicked the image in Dolphin, this opened automatically in Gnome Disks and offered me to write it to the SD card. Then I put the SD card in the PinePhone and plugged in the USB-C connector. And I started up the phone.
The next step was to write the openSUSE image to the internal memory (eMMC) of the PinePhone. Again, I started downloading the openSUSE image, which you can find here. I have chosen to go with the KDE Plasma Mobile version, because I am used to KDE as my regular Desktop Environment as well. The next step is to Unzip the file, by opening the file with Ark.
And then click twice on the Extract button.
The next step is to open Disks and to select the dots and then click on Restore Disk Image.
The next step is to select the raw (Unzipped) image. You can simply ignore the error that your SD card (which is the internal eMMC memory) is bigger than the image that you are about the write. That is logical, because you are writing a 4GB image to a 16GB disk. And you will use (read: format) the full disk for that. So click Restore to continue.
Gnome Disks will show you the progress. When everything is done, you will see that the internal memory of the PinePhone is now divided into 3 partitions and some empty space.
The next step is to enlarge the ROOT partition. But you need a program named f2fs-tools to be installed for that to work. Use YaST to install these packages. After that use Gnome Disks to extend the partition. In the end you should have a ROOT partition of about 15 GB.
The next step is to remove the Jumpdrive MicroSD card from your PinePhone and boot the device. You should see the glorious openSUSE logo appearing.
Swipe up and put in the default Pin-code of 1234. Then put in the default Pin-code of your SIM card.
You will now see the Home screen with a recognizable openSUSE green wallpaper. A few tips to do first:
- Use Discover to update your phone to the latest version
- Use Discover to install all kinds of apps
- Change your password via the terminal (sudo passwd)
When changing your password, make sure that you use only numbers!!! Because your root password is also the Pin-code for unlocking the phone. Of course openSUSE will complain; just ignore that and enter the 4 number password again.
I am really happy with my PinePhone. Its a great toy for experiencing the state of Plasma Mobile and Phosh. For me it is also a delight that I can use openSUSE Tumbleweed, as I am familiar with Zipper for the command line. In the future, I will try out Phosh to see how far that has progressed. But that is a topic for another blog post.
Published on: 8th March 2021