This is, i hope, the first of a serie of Pinephone articles summing up for myself and others what i'm learning on the Pinephone, Linux on a smartphone and contributing to the different OSs in order to turn this phone into the perfect daily driver.
I'll be learning as i write so i don't expect these articles to always represent the best or the most elegant solution but i intend them to help me figure out exactly what was needed in the middle of all i tried and maybe it can help shorten the learning path for others. Right now only 3000 "Braveheart" Pinephones have been selled and i can assume most of them are in far more knowledgeable hand than mine but come April, the software should be in a better place and Pine64 will surely sella new batch to less linux-able people and this guide might just come handy.
I bought a Pinephone, the Linux phone from Pine64 in November on the first day of the pre-order as i was scared the 3000 units would sell in a blink but it actually took almost 3 months for all of them to be reserved. I guess the hype is not that high at the moment for a Linux phone. I missed the Ubuntu phone adventure few years ago, mainly because of the price (maybe it was a good thing given the ending), and i was set on taking advantage of this new opportunity !
It is worth noting that Pine 64 (contrary to Purism Librem 5) does not provide the software, just the hardware and that in the case of my Pinephone there wasn't even a real guarantee on the hardware as this first batch aptly called "Braveheart" is still pretty much a beta version, some antennas are not perfectly trimmed, it's not CE and FCC certified (although the modem is) and since there's no software for it yet, it hasn't been fully tested yet so some hardware bugs might be present in this revision. However, Pine64 was really forward with all of that, it's a rather small company and they are taking a risk manufacturing something that could be seen as a niche product, they need help to make it a reality, this is some sort of crowdfunding.
I've seen lots of complaints in the "official" Pine64 Pinephone channel chat about delivery. It took nine days for me, for something coming from China, and being familiar with Aliexpress shipping time, i think it was rather fast. There were also some complaints about delay between the actual shipment date and the announced one but it's to be expected in this kind of projects and Pine 64 communication on the matter was explicit and they even managed to improve 2G and Wifi antenna trimming in the meantime so for me it's a win.
As soon as i got my hands on it, i took some pictures of it, the packaging and the device itself feel really good and doesn't look at a all like a prototype. It definitely doesn't feel cheap and it's thin enough with small bezel to not look too outdated by 2020 smartphones standards, especially with a case on.
I also tried several distributions for it. A very good thing with this phone is that it can boot from the SD card. To try a distribution, all that's needed is to burn the distribution image on the SD card as you would do to install a regular Linux distribution and boot the phone. As i said before software is lacking but documentation about it is also lacking. It was a little bit hard to figure out were to find the images or how to build them. All the links to relevant webpages are below. Ubuntu Touch is definitely the most advanced and offer the best experience at the moment, it's smooth and it looks good, phone calls, SMS, cameras and other things doesn't work but it's still a pleasant experience. experiments with peripherals
Postmarketos is really interesting too even if it feels less ready. To built the image and burn it on the sd card you need to install and use their pmbootstrap tool which is really easy to use. I was at FOSDEM 2020 and i had the occasion to assist to several talks by Postmarketos's devs and this OS really caught my fancy so i think that's what i'll start playing with.
To install pmbootstrap the full procedure is there but basically :
git clone https://gitlab.com/postmarketOS/pmbootstrap.git mkdir -p ~/.local/bin ln -s "$PWD/pmbootstrap/pmbootstrap.py" ~/.local/bin/pmbootstrap
or even more easily with :
pip3 install --user pmbootstrap
Answer the questions in the terminal and then type
pmbootstrap install --sdcard=/dev/mmcblk
with mmcblk the name of your sd card (found with df in a terminal for example) The full official procedure is there
All of this is not really a hard to find information but i hope i'll be able to dig deeper and make some interesting progress and in that case, I'll try to complete the official wiki as well if i can figure out where the information should go or at least format the important bits in my wiki to make it easier to follow than a blog post.
P.S. : If you feel like reusing the pictures i've taken for this article (i'm quite proud of them to tbh) please do so against a citation, it's always appreciated !