Difference between revisions of "PinePhone Software Releases"

Jump to navigation Jump to search
(Moved to "PinePhone APN Settings")
(Page moved to PinePhone Installation Instructions, fixes)
Line 1: Line 1:
This page contains a list of all available releases for the PinePhone as well as links to further resources.


This page is intended to help you install a software release on your [[PinePhone]]. It also provides details about all available releases as well as links to further resources.
See [[PinePhone Installation Instrictions]] on how to install the operation systems.


= General instructions =
Note: Some releases may not have a good setup for the backlight at low brightness. If configured too low the backlight shuts down completely, but the screen is still displayed and usable in bright front-light.
 
Releases are first installed to a Micro SD card. Choose a card with fast I/O (of small files) for the best performance. See [[#Other Resources]] for performance tests of various SD cards.
 
This section has generic installation instructions. Please see the [[#Software Releases]] section for specific installation instructions for each distribution.
 
== Boot priority ==
 
The default PinePhone boot priority is first the SD card and then the eMMC so inserting your own SD card with your preferred release will result in the phone booting your image.
 
== Preparation of SD card ==
# Download your chosen image from the options below
# Extract the compressed file
# Write the image to your SD card
# Plug SD card into phone
# Boot phone
If you need step-by-step instructions for writing an image to an SD card, check [[NOOB#Step-by-Step_Instructions_to_Flashing_MicroSD_Cards]] then return to this page.
 
USING BMAPTOOL
Download the .img.xz and the .img.bmap files.
Run $ bmaptool copy --bmap image.bmap image.xz /dev/sdX
This takes 2.5mins to flash a 4Gb file.
 
== Installation to eMMC (Optional) ==
 
=== Method Using Factory Installed Tools ===
 
The initial OS you get with your phone has the option to flash an image on SD card to eMMC.
 
# Copy (not flash) the image file to a formatted SD card.
# Insert SD card into powered-off phone.
# Turn on phone and select option to install to eMMC.
 
=== Safe & Easy Method ===
 
[https://forum.pine64.org/showthread.php?tid=9444 Jumpdrive thread]
 
# download and extract [https://github.com/dreemurrs-embedded/Jumpdrive/releases the Jumpdrive image]
# flash the Jumpdrive image to a SD card
# boot from the SD card
# connect the PinePhone to your computer using USB-A -> USB-C cable.
# flash the exposed (mounted) PinePhone drive with a chosen OS image as you'd flash any SD card, and resize partitions (optional, see below)
# disconnect the PinePhone from your PC, power it down and remove the Jumpdrive SD card
# boot into your OS of choice on eMMC
 
The Jumpdrive image is smaller than 50MB. You can keep an SD card specifically for using Jumpdrive, and there are 64MB micro SD cards sold cheaply that will suffice.
 
=== Safe With No Extra Tools, But Slower ===
 
# Prepare a formatted SD card, flash desired OS to the SD card, and (optionally) resize the partition (see below)
# Insert SD card and boot the phone
# Open terminal and <code>git clone [url]</code> your desired project OR: Open web browser and download the desired OS image file.
# Build the OS (Optional)
# Flash the resulting image file you got by downloading or by building, to eMMC, using <code>dd if=/dev/mmcblkX of=/dev/mmcblkY bs=1M</code> where X is the number label of the SD card, and Y is the number label of the eMMC. Use the command ''lsblk'' to check your devices: typically with the current kernel the SD card is /dev/mmcblk0 and the eMMC is /dev/mmcblk2 but as always with ''dd'' be extremely cautious to get the devices correct. Then, resize partition to fill up entire disk (see below).
# Turn off phone, remove SD card. Turn on phone.
 
=== Risky Method ===
 
Warning: This copies a mounted filesystem, which can lead to instability, erratic behavior, and data corruption. Do not use long term.
 
# Prepare a new SD card, flash desired OS to the SD card
# Boot the phone with your new SD card image
# Within the booted OS, flash/clone the running OS to eMMC, e.g. using dd. It will take about 15 minutes (depending on the speed of your card), and in the end it may show an error about not enough space - just ignore it.
# Turn off phone, take out SD card, and try booting the phone which should load up the new OS from eMMC.
# Open terminal and resize partition to fill up entire disk (see below).
 
== Resize partition to fit disk space ==
 
Once you've flashed the OS to your SD card or eMMC storage, you may also need to expand the partition to fill all the available space.
 
=== Resize SD card's partition using computer ===
 
For SD cards, insert the SD card and resize the partitions through the computer. For eMMC, insert the phone cable and use Jumpdrive to access the eMMC directly, and resize the partition after flashing the image.
 
Using Growpart:
 
growpart /dev/sdX 1
resize2fs /dev/sdX 1
 
Locate growpart (<code>apt-cache search growpart</code> and install the package in the search results) and run:
growpart /dev/mmcblkX Y
resize2fs /dev/mmcblkXpY
where X is the storage device and Y is the partition number (viewable from lsblk).
 
If you get any errors about missing or unknown commands, use apt-cache search to find and install the needed software. Also don't forget to use sudo.
 
Using Parted:
 
Parted's interactive mode and resize work well together. Do this before you put your SD card into the PinePhone for the first time for best results.
 
sudo parted /dev/<your_sd_card_device>
(parted) resizepart 2 100%
(parted) quit
sudo resize /dev/<the_second_sd_card_PARTITION>
 
=== Resize from within PinePhone: ===
 
eMMC: you would need to resize the partition on eMMC (flashed with the operating system) by booting another image from the SD card: that way, the eMMC will be unmounted. It is '''not recommended''' to resize eMMC while booted from eMMC! Resizing a currently mounted partition can have weird results.
 
SD card: It is generally not possible to boot from eMMC to partition the unmounted SD card, because of the boot order -- you would have to write the image to the empty SD card first, then resize partition, all without rebooting. It is also '''not recommended''' to resize the SD card while booted from SD card! Resizing a currently mounted partition can have weird results.
 
== Reuse SD card for data storage on system booting from eMMC==
Once you have installed your release of choice to eMMC, you may wish to use an SD card for data storage. If you choose to re-use a card you have previously used to boot from, you will find your phone will not boot if you just reformat the card and insert it. This is because the Allwinner firmware in the PinePhone uses some (normally) unused space at the front of the SD card to store boot software, which you need to clear.
 
This can be done as follows on any linux system:
lsblk
to check the device of your SD card – as an example lets assume it is /dev/mmcblk0
then
sudo dd if=/dev/zero of=/dev/mmcblk0 bs=8k seek=1 count=4
will clear the relevant sectors of your card.
 
== Backlight ==
Some releases may not have a good setup for the backlight at low brightness. If configured too low the backlight shuts down completely, but the screen is still displayed and usable in bright front-light.
 
Sailfish is one OS that initially uses automatic backlight control and the default setting makes the screen appear blank. When shining a bright light on the screen, you can still navigate the screen (and maybe the screen switches on temporarily due to the light sensor). This will make it possible for you to disable auto brightness in Settings, Display.
 
<div class="center" style="background-color: lightyellow;">[[#top | '''Return to top of page''']]</div>


= Software Releases =
= Software Releases =
This is a list of OSs that specifically support the PinePhone, but as support is included in Mainline Linux, in principle any ARM Linux OS can be used. From Linux kernel V5.7 most drivers are included.
This is a list of OSes that specifically support the PinePhone, but as support is included in Mainline Linux, in principle any ARM Linux OS can be used. From Linux kernel V5.7 most drivers are included.


== postmarketOS ==
== postmarketOS ==
http://files.pine64.org/sw/pine64_installer/json/postmarketos.png
http://files.pine64.org/sw/pine64_installer/json/postmarketos.png


postmarketOS is a preconfigured version of [https://www.alpinelinux.org/ Alpine Linux] for mobile devices that offers a choice of several desktop environments including Plasma Mobile and phosh.  
postmarketOS is a preconfigured version of [https://www.alpinelinux.org/ Alpine Linux] for mobile devices that offers a choice of several desktop environments including Plasma Mobile and Phosh.  


* ''' Download location '''
* ''' Download location '''
Line 157: Line 42:
A short, state-of-the-art (as at 2 April 2020) [https://youtu.be/3Ne6G0-hn9g demo on YouTube.]
A short, state-of-the-art (as at 2 April 2020) [https://youtu.be/3Ne6G0-hn9g demo on YouTube.]


[https://ubuntu-touch.io/ Ubuntu touch] is a mobile version of Ubuntu developed by the UBports community. Installation instructions can be found on [https://gitlab.com/ubports/community-ports/pinephone#how-do-i-install-ubuntu-touch-on-my-pinephone the UBports PinePhone project]. There is also a [https://github.com/goddard/pinephone/ script] to download the latest img and flash to your pinephone. In the future, Ubuntu Touch will be able to be installed onto the PinePhone with the [https://ubuntu-touch.io/get-ut UBports installer] GUI tool.
[https://ubuntu-touch.io/ Ubuntu touch] is a mobile version of Ubuntu developed by the UBports community. Installation instructions can be found on [https://gitlab.com/ubports/community-ports/pinephone#how-do-i-install-ubuntu-touch-on-my-pinephone the UBports PinePhone project]. There is also a [https://github.com/goddard/pinephone/ script] to download the latest image and flash to your PinePhone. In the future, Ubuntu Touch will be able to be installed onto the PinePhone with the [https://ubuntu-touch.io/get-ut UBports installer] GUI tool.


* ''' Download location '''
* ''' Download location '''
Line 181: Line 66:
See [https://forum.pine64.org/showthread.php?tid=9016 this thread in the forum.]
See [https://forum.pine64.org/showthread.php?tid=9016 this thread in the forum.]


An unofficial Debian build for ARM64 running with the [https://developer.puri.sm/Librem5/Software_Reference/Environments/Phosh.html phosh user interface] (developed by Purism, phosh uses [https://en.wikipedia.org/wiki/Wayland_(display_server_protocol) Wayland] instead of [https://en.wikipedia.org/wiki/X.Org_Server Xorg]). The base system is pure Debian, with only the GUI applications and a few others (ModemManager, Wifi chip firmware) being built from modified sources (as well as the kernel and u-boot, of course). Current version is Debian Bullseye.   
An unofficial Debian build for ARM64 running with the [https://developer.puri.sm/Librem5/Software_Reference/Environments/Phosh.html Phosh user interface] (developed by Purism, Phosh uses [https://en.wikipedia.org/wiki/Wayland_(display_server_protocol) Wayland] instead of [https://en.wikipedia.org/wiki/X.Org_Server Xorg]). The base system is pure Debian, with only the GUI applications and a few others (ModemManager, Wifi chip firmware) being built from modified sources (as well as the kernel and u-boot, of course). Current version is Debian Bullseye.   


* ''' Download location '''
* ''' Download location '''
Line 258: Line 143:


* ''' What works, what does not work '''
* ''' What works, what does not work '''
04 May 2020. The SFOS image is now the latest 3.3.0.16 release. This has resolved many problems (eg MTP file transfer now works) but there are several glitches, the most serious being total freeze requiring reboot. Random hissing noise for about 10 seconds. This release of SF has Nextcloud integration.
04 May 2020. The SFOS image is now the latest 3.3.0.16 release. This has resolved many problems (for example MTP file transfer now works) but there are several glitches, the most serious being total freeze requiring reboot. Random hissing noise for about 10 seconds. This release of SF has Nextcloud integration.
09 May 2020. Voice calls now work....(in pipeline, arriving in builds within days). If you have a Jolla registration a minor bug means you have to submit the request twice. Wifi is intermittent. The battery indicator previously only showed level at boot, now improved but far from reliable.
09 May 2020. Voice calls now work....(in pipeline, arriving in builds within days). If you have a Jolla registration a minor bug means you have to submit the request twice. WiFi is intermittent. The battery indicator previously only showed level at boot, now improved but far from reliable.
   
   
If you're not familiar with SFOS pay attention to the tutorial - the interface works great but isn't immediately obvious. If you are familiar with SF you can skip the tutorial by touching all 4 corners starting top left. There is a poor selection of apps available from the Jolla store, the vast majority are hosted on openrepos.net. The Storeman app for openrepos is now preinstalled, and also Webcat browser as the built in browser is not working at the moment.
If you're not familiar with SFOS pay attention to the tutorial - the interface works great but isn't immediately obvious. If you are familiar with SF you can skip the tutorial by touching all 4 corners starting top left. There is a poor selection of apps available from the Jolla store, the vast majority are hosted on openrepos.net. The Storeman app for openrepos is now preinstalled, and also Webcat browser as the built in browser is not working at the moment.
Line 285: Line 170:


* ''' source code '''
* ''' source code '''
If you want to report a bug or look at what goes into the PinePhone build of PureOS, visit the Git [http://pureos.ironrobin.net/git/clover/pinephone/ repo.]
If you want to report a bug or look at what goes into the PinePhone build of PureOS, visit the Git [http://pureos.ironrobin.net/git/clover/pinephone/ repository.]


* ''' user-id/password '''
* ''' user-id/password '''
Line 400: Line 285:
Nemo Mobile is the open source build of Sailfish OS.
Nemo Mobile is the open source build of Sailfish OS.
See the new website nemomobile.net/
See the new website nemomobile.net/
You can install Nemo on any device that runs Sailfish, see the above website for details. Or you can flash the image to sd card on the pinephone, download here https://yadi.sk/d/8oSZp-frGidscw (requires Yandex Disk account).
You can install Nemo on any device that runs Sailfish, see the above website for details. Or you can flash the image to SD card on the PinePhone, download here https://yadi.sk/d/8oSZp-frGidscw (requires Yandex Disk account).


* ''' Download location '''
* ''' Download location '''
Line 454: Line 339:


* ''' Where/how to report defects '''
* ''' Where/how to report defects '''
On [https://github.com/NixOS/mobile-nixos/issues the project's repository]. Please specify that you are using a Pinephone when reporting issues.
On [https://github.com/NixOS/mobile-nixos/issues the project's repository]. Please specify that you are using a PinePhone when reporting issues.


* ''' Contributions '''
* ''' Contributions '''
Line 487: Line 372:
https://www.pine64.org/wp-content/uploads/2020/03/androidpp.jpg
https://www.pine64.org/wp-content/uploads/2020/03/androidpp.jpg


While I didn't find a download link yet, I did find this image on the March community update from Pine64 of an Android 10 rom running on the Pinephone by [https://github.com/Icenowy Moe Icenowy]. This image is absolutely bare-bones (no applications yet) and comments on IRC indicated it was a theoretical test only, rather than a step towards a release.
While I didn't find a download link yet, I did find this image on the March community update from Pine64 of an Android 10 ROM running on the PinePhone by [https://github.com/Icenowy Moe Icenowy]. This image is absolutely bare-bones (no applications yet) and comments on IRC indicated it was a theoretical test only, rather than a step towards a release.


<div class="center" style="background-color: lightyellow;">[[#top | '''Return to top of page''']]</div>
<div class="center" style="background-color: lightyellow;">[[#top | '''Return to top of page''']]</div>


= Installing Any ARM64 Distribution =
= Installing Any ARM64 Distribution =
'''Warning:''' Distributions not on this page may not even boot after you follow this section. In the best case, they will be barely usable. This is more for fun, or if you would like to port a new distro to the PinePhone.
'''Warning:''' Distributions not on this page may not even boot after you follow this section. In the best case, they will be barely usable. This is more for fun, or if you would like to port a new distribution to the PinePhone.


'''Note:''' This section uses megi's kernel releases, and not the official ones from PINE64. While it is possible to use the official (and in the future, mainline) kernel, megi provides binary releases, which makes it very easy.
'''Note:''' This section uses megi's kernel releases, and not the official ones from PINE64. While it is possible to use the official (and in the future, mainline) kernel, megi provides binary releases, which makes it very easy.
Line 500: Line 385:
# Create a boot (from 4MiB to about 252MiB) and root (from 252 MiB to the end of the card) filesystem on the SD card.
# Create a boot (from 4MiB to about 252MiB) and root (from 252 MiB to the end of the card) filesystem on the SD card.
# Format the boot partition with vfat, and the root partition with f2fs.
# Format the boot partition with vfat, and the root partition with f2fs.
# Extract the root filesystem from your distro's ARM image into the root filesystem on the sd card. Do not copy the partition, copy the files (in archive mode: like rsync -ar).
# Extract the root filesystem from your distribution's ARM image into the root filesystem on the SD card. Do not copy the partition, copy the files (in archive mode: like rsync -ar).
# Edit /etc/fstab to match your partitions.
# Edit /etc/fstab to match your partitions.
# Grab megi's kernel from https://xff.cz/kernels/ (you probably want 5.6).
# Grab megi's kernel from https://xff.cz/kernels/ (you probably want 5.6).
# Follow the README instructions, which involves copying the kernel modules into the sd card rootfs and writing u-boot and the bootloader.
# Follow the README instructions, which involves copying the kernel modules into the SD card rootfs and writing u-boot and the bootloader.


<div class="center" style="background-color: lightyellow;">[[#top | '''Return to top of page''']]</div>
<div class="center" style="background-color: lightyellow;">[[#top | '''Return to top of page''']]</div>
Line 514: Line 399:
Hardware information
Hardware information
* [[PinePhone]] hardware details in this Pine64 wiki.
* [[PinePhone]] hardware details in this Pine64 wiki.
* [[PinePhone_v1.1_-_Braveheart]] hardware details specific to the Braveheart handsets.
* [[PinePhone_v1.1_-_Braveheart]] hardware details specific to the BraveHeart handsets.
* The postmarketOS wiki has a detailed page on the PinePhone hardware [https://wiki.postmarketos.org/wiki/PINE64_PinePhone_(pine64-pinephone) here,] and the preceeding devkit [https://wiki.postmarketos.org/wiki/PINE64_Don%27t_be_evil_devkit_(pine64-dontbeevil) here.]
* The postmarketOS wiki has a detailed page on the PinePhone hardware [https://wiki.postmarketos.org/wiki/PINE64_PinePhone_(pine64-pinephone) here,] and the preceding devkit [https://wiki.postmarketos.org/wiki/PINE64_Don%27t_be_evil_devkit_(pine64-dontbeevil) here.]


Other software information
Other software information
Line 527: Line 412:
* [https://www.pine64.org/2020/01/24/setting-the-record-straight-pinephone-misconceptions/ Pine64 blog on blobs]
* [https://www.pine64.org/2020/01/24/setting-the-record-straight-pinephone-misconceptions/ Pine64 blog on blobs]
* [https://tuxphones.com/yet-another-librem-5-and-pinephone-linux-smartphone-comparison/ Martijn Braam Librem 5 comparison, especially covering openness/blobs]
* [https://tuxphones.com/yet-another-librem-5-and-pinephone-linux-smartphone-comparison/ Martijn Braam Librem 5 comparison, especially covering openness/blobs]
* [https://fam-ribbers.com/2019/12/28/State-of-Linux-on-mobile-and-common-misconceptions.html Bart Ribbers blog on linux distributions and desktop environments on mobile devices.]
* [https://fam-ribbers.com/2019/12/28/State-of-Linux-on-mobile-and-common-misconceptions.html Bart Ribbers blog on Linux distributions and desktop environments on mobile devices.]
* [https://www.jeffgeerling.com/blog/2019/a2-class-microsd-cards-offer-no-better-performance-raspberry-pi Jeff Geerling on testing micro SD cards.]
* [https://www.jeffgeerling.com/blog/2019/a2-class-microsd-cards-offer-no-better-performance-raspberry-pi Jeff Geerling on testing micro SD cards.]


<div class="center" style="background-color: lightyellow;">[[#top | '''Return to top of page''']]</div>
<div class="center" style="background-color: lightyellow;">[[#top | '''Return to top of page''']]</div>