I got my PinePhone a few days ago and have been doing a lot of tinkering since then. I've primarily been running UBPorts, but briefly tried Manjaro as well.
UBPorts, to me, feels like the most polished UI and OS in general. However, the PinePhone is still super new and there are plenty of bugs to encounter and work around. I'm going to keep this post brief and just limit it to how you can get started with UBPorts on your PinePhone, and a couple scripts to help keep your software up to day and running as smooth as possible.
Download the Image and Flash an SD Card
- Download the latest build
- Using whatever method you want (I reccoment etcher) flash your SD card with your freshly downloaded build. You're going to want to use at least an 8GB card.
Insert your SD Card and Boot your Phone
- You're going to want to take the back cover off your phone, remove the battery, and insert your SD card. The SD card slot is right on top of the SIM card slot.
- Put everything back together and hold the power button for a second or two, it should turn on and look like the picture below.
- Select your language
- (I don't have a SIM card in mine, but set that up)
- Connect to WiFi (if it disconnects right away, don't worry I have a fix for that later)
- Select your timezone (this won't work right, but again, fix down below)
- Enter your preferred name (this does nothing as near as I can tell, but perhaps its supposed to?)
Change your password
The first thing you should do is change your password. This is done simply with the
passwd command. Just open the terminal app (swipe from the left side of the screen to open the app drawer) and run it.
SSH into your pinephone
If your WiFi died already skip to the WiFi section below and run the commands in that script to fix it. If it's still working, hooray!
ifconfig on your PinePhone in the terminal to get your IP Address. Then push your SSH Key to your pinephone:
ssh-copy-id -i ~/.ssh/id_pub phablet@<IP_OF_PINEPHONE>
You should be promped for your password, and then your SSH key will be copied to your phone. Then, you can ssh into your pinephone without having to type in your password:
Some commands / Scripts to fix things
The reason I wanted to get you SSH'd into your phone first, is because it's going to be easier to copy/paste this script / command from your computer than your PinePhone. In fact, I haven't been able to get copy/paste working at all on my PinePhone with UBPorts.
The first issue I had was with the WiFi. I connected during the initial setup and it disconnected right away, leaving me wondering if I had broken something. Luckily that wasn't the case, and it's an issue documented in the PinePhone UBPorts Repo.
I have not found a permanant fix yet, but I do have a temporary one to get things working again.
sudo nmcli radio wifi off && \
sudo nmcli radio wifi on && \
sudo reboot now
Setting the Date/Time
During initial setup you set your timezone, but you've probably noticed that the time isn't correct (unless you live at UTC +0). This issue is also documented. The fix is actually pretty easy. This command is another on that's easier to run from your computer while SSH'd into the PinePhone:
sudo dpkg-reconfigure tzdata
This will open a CLI wizard and take you through setting your timezone. Once you're done, reboot your phone and you should see the correct time displayed in the UI.
The PinePhone, with UBPorts is not ready to be your daily driver. It's getting close, but it's not quite there yet. That said, it's a great start and with your help it's going to get there more quickly. How can you help? I think the best thing you can do is be proactive about reporting bugs you find. You can do so in the PinePhone UBPorts Repo. If you feel comfortable, you can also dive in and help fix the bugs you find.