PinePhone Software Releases

From PINE64
Jump to navigation Jump to search

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.

General instructions

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.

User megi has demonstrated his multi-boot development on YouTube, see Other Resouces at the bottom of this page for a link to his notes.

Preparation of SD card

  1. Download your chosen image from the options below
  2. Extract the compressed file
  3. Write the image to your SD card
  4. Plug SD card into phone
  5. 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.

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.

  1. Copy (not flash) the image file to a formatted SD card.
  2. Insert SD card into powered-off phone.
  3. Turn on phone and select option to install to eMMC.

Safe & Easy Method

  1. download and extract the Jumpdrive image
  2. flash the Jumpdrive image to a SD card
  3. boot from the SD card
  4. connect the PinePhone to your computer using USB-A -> USB-C cable.
  5. flash the exposed (mounted) PinePhone drive with a chosen OS image as you'd flash any SD card
  6. once the flashing process is complete, disconnect the PinePhone from your PC, power it down and remove the Jumpdrive SD card
  7. 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

  1. Prepare a formatted SD card, flash desired OS to the SD card
  2. Boot the phone with your new SD card image
  3. Resize partition to fill the SD card
  4. Open terminal and git clone [url] your desired project OR: Open web browser and download the desired OS image file.
  5. Build the OS (Optional)
  6. Flash the resulting image file you got by downloading or by building, to eMMC, using dd if=/dev/mmcblkX of=/dev/mmcblkY bs=1M 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.
  7. Turn off phone, remove SD card. Turn on phone.
  8. Open terminal and resize partition to fill up entire disk (see below).

Risky Method

Warning: This copies a mounted filesystem, which can lead to instability, erratic behavior, and data corruption. Do not use long term.

  1. Prepare a new SD card, flash desired OS to the SD card
  2. Boot the phone with your new SD card image
  3. 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.
  4. Turn off phone, take out SD card, and try booting the phone which should load up the new OS from eMMC.
  5. 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 (apt-cache search growpart 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.

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.

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.

If you would like to see specific commands for how to complete these steps, see (an example for Fedora) or (an example for Arch Linux).

  1. Create a boot (from 4MiB to about 252MiB) and root (from 252 MiB to the end of the card) filesystem on the SD card.
  2. Format the boot partition with vfat, and the root partition with f2fs.
  3. 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).
  4. Edit /etc/fstab to match your partitions.
  5. Grab megi's kernel from (you probably want 5.6).
  6. Follow the README instructions, which involves copying the kernel modules into the sd card rootfs and writing u-boot and the bootloader.


All current distributions do 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.

Software Releases



postmarketOS is a preconfigured version of Alpine Linux for mobile devices that offers a choice of several desktop environments including Plasma Mobile and phosh.

  • Download location

Rather than downloading a demo image postmarketOS recommend the use of their script, pmbootstrap, that can tailor build your SD card for you. See for example this forum thread.

Note pmbootstrap offers an option to install to the eMMC.

Demo images can be found here.

  • user-id/password

demo/147147 (for demo images only - when building an image with pmbootstrap you set your own user-id and password. NOTE: currently some lock screens require your password, but only present a numeric keyboard. So you should use only numbers in your password until you've verified you can unlock with other characters.)

  • What works, what does not work

See postmarketOS dedicated PinePhone wiki page

If you install firefox browser (or are using a demo image that already has it installed) then these hints in the pmOS wiki are recommended. GDK_SCALE=1 is best for PinePhone screen, enable Wayland gets application to fit screen and allow keyboard entry.

  • Where/how to report defects

postmarketOS issue tracker for PinePhone support

  • Contributions

See postmarketOS wiki for options to contribute.

Ubuntu Touch by UBPorts

ubports.png A Mobile Version of the Ubuntu Operating System made and maintained by the UBports Community.

A short, state-of-the-art (as at 5 Feb 2020) demo on YouTube.

Ubuntu touch is a mobile version of Ubuntu developed by the UBports community. Images can be downloaded from here. In the future, Ubuntu Touch will be able to be installed onto the PinePhone with the UBports installer GUI tool.

  • Download location

See UBports gitlab page.

  • user-id/password

The default password is phablet

  • What works, what does not work

Scroll down to the bottom of this page.

To get the modem to work (as at 10 Feb) you need to manually:

sudo /usr/share/ofono/scripts/enable-modem
sudo /usr/share/ofono/scripts/online-modem
  • Where/how to report defects

See UBports gitlab page.

  • Contributions

See UBports website for how to donate.

Debian + Phosh


See this thread in the forum.

An unofficial Debian build for ARM64 running with the phosh user interface (developed by Purism, phosh uses Wayland instead of 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 Sid, as needed packages are not yet in testing (Debian Bullseye).

  • Download location

Debian-pinephone image builds

  • user-id/password


  • What works, what does not work

See the project's README file for most up to date status.

March 9th release: thread

Known issues as of March 9th, 2020:

  • ModemManager acts weirdly if your SIM card needs PIN code verification, it is recommended to disable it for now
  • headphone jack insertion is still not detected, you need to manually switch to the "Headphone" output in "Settings" -> "Sound"
  • bluetooth and camera are still not usable, even though the low-level drivers seem to work
  • a few voice calls issues: unable to mute the mic, headset mic not working, audio quality to be improved (if the hardware is capable of more)
  • Chatty app: In order to start a new text, you need to enter +[country code]-[phone number]. Without the + and the country code (+1 for USA) you won't be able to send a new text.
  • To adjust screen resolution, see these threads: [1] [2]

Most of Debian's repository is available. There are packages that need to be cross compiled ("ported") to ARM64 (see Debian's wiki on ARM64 port), but the process is fairly easy. Most developers package their software for the AMD64 version of Debian, so they will throw an error when run; if you have the source code, you can compile it to run on ARM64/PinePhone. If you do so, you should contact the developers so they can provide precompiled ARM64 packages for others in the future. You should also contact Debian if you have working ARM64 packages not listed on this page, since this helps them track the status of ARM64 with Debian. Currently their wiki page is out of date.

  • Where/how to report defects

It is recommended that you log your bug reports in the project's issue tracker.

  • Contributions

Feel free to pick an open issue to work on, or send a merge request on Gitlab.

Maemo Leste


Maemo is a trimmed-down version of Debian for mobile devices, originally a collaboration between Nokia and many open source projects (the Maemo community) before Nokia abandoned it. The community now takes full responsibility in developing fully open source Maemo for a variety of mobile devices.

The new version Maemo 7 "Leste" is an ARM64 port of Devuan (Debian without systemd) and runs the mainline Linux kernel. The default user interface stack is Hildon, Xorg, Matchbox WM, and GTK. The current version is Devuan Ascii (Debian Stretch) and they are working on an upgrade to Devuan Beowulf (Debian Buster) as well as simultaneous support for both Devuan and Debian. In addition to the main repository, they announced a community repository. To keep updated they use automation in their package maintenance with jenkins (similar to debian's buildd). Porting packages to Maemo Leste is basically a simple matter of porting to arm64 version of Debian/Devuan, which benefits both projects.

More detailed information can be found on the Maemo Leste wiki, or follow announcements on their website, and check out Frequently Asked Questions.

  • Download location

Maemo Leste test builds. There is also an image builder, see their wiki for instructions on how to build a custom image.

  • user-id/password


You may use "sudo" directly.

  • What works, what does not work

For current status and work arounds please read their PinePhone wiki page, and update as necessary (make sure to notify them of new issues by leaving a report on their github, see below).

  • Where to Report Issues

Most discussion occurs at #maemo-leste on freenode IRC. The Maemo website also has an ongoing forum thread for feedback about Maemo Leste on the PinePhone BraveHeart edition.

All other contact information is listed on the main page of the Maemo wiki. You should submit bug reports on github. To track known issues, you may use these search terms: pinephone, pine64

  • Development

Learn about development, porting packages, building packages, todo list, and general info on how to package for Debian. Some tasks have funding available.


sailfishos.png Sailfish OS is a Linux-based operating system based on open source projects such as Mer and including a closed source UI.

  • Download location

The SailfishOS image is built on Gitlab CI. The latest image can be installed using the flashing script.

The script downloads the image and bootloader from our CI, extracts everything and burns it onto the SD card. Note: The script will format and erase the SD card!


  1. Download the flashing script
  2. Insert a microSD card in your device
  3. Make the script executable: chmod +x
  4. Verify that you have the bsdtar package installed
  5. Execute it: ./
  6. Follow the instructions. Some commands in the script require root permissions (for example: mounting and flashing the SD card).

Note that after baking µSD card and booting phone, as per Reddit comment you have to adjust autobrightness settings in order to actually see interface.

  • user-id/password
  • What works, what does not work

The current (6 Feb) version of Sailfish has a defect with the auto brightness: on first boot this means you get a blank screen. You need to hold your phone up to a bright light to enable the screen, then disable the auto brightness in Settings, Display. See this forum thread. If you're not familiar with SFOS, be prepared by having a Jolla account and skip the tutorial by touching all 4 corners starting top left. This is just because holding a light over the sensor can be tricky, otherwise the SFOS tutorial is necessary as the UI is not that intuitive.

  • Where/how to report defects

See the Sailfish wiki for links to their forum as well as info required when reporting an issue.

  • Contributions

See the SailfishOS wiki for options to contribute.

Manjaro ARM

manjaro.png Manjaro is a user-friendly Linux distribution based on the independently developed Arch operating system with the Plasma Mobile desktop environment.

  • Download location

See Manjaro forum announcement of Alpha4 version

  • user-id/password
    • manjaro/1234
    • root/root
  • What works, what does not work

See Manjaro announcement.

In particular phone calls do NOT yet work from the Phone application.

  • Where/how to report defects
  • Contributions

See the end of the announcement here.

Nemo Mobile

nemo_mobile.png Nemo Mobile is the open source build of Sailfish OS.

See this forum thread for how to get going.

  • Download location

Download location is here on GitHub.

  • user-id/password
  • What works, what does not work

Scroll down the page here.

  • Where/how to report defects

For more info please visit neochapay's github page

  • Contributions

KDE Neon

plasma_mobile.png Based on KDE Neon for the desktop, comes with Plasma Mobile.

  • Download location

Plasma mobile images can be found here.

  • user-id/password


  • What works, what does not work
  • Where/how to report defects
  • Contributions


PureOS is a GNU/Linux distribution focusing on privacy and security, using the GNOME desktop environment. It is developed and maintained by Purism.

  • Download location

This is an unofficial/unsupported creation by mozzwald that can be downloaded here. Instructions to create your own image are here.

  • user-id/password




An (unofficial) vanilla Fedora rawhide build for aarch64 with megi's kernel and some additional packages to tie it all together. It aims to eventually be an upstream part of the Fedora project, rather than a phone-specific distribution.

See this thread in the forum.

  • Download location

flashable images or build scripts

The images are compressed with zstd because the maintainer needs an excuse to use zstd.

  • user-id/password


  • What works, what does not work

The UI is smooth, WiFi, Bluetooth, incoming SMS, and the modem all work. Voice calls, SMS (outgoing), and mobile data don't work (yet).

  • Where/how to report defects

Please send your bug reports at the project's issue tracker. Be sure to include logs if applicable!

  • Contributions

Please help! Send us merge requests on Github.

Arch Linux ARM


An (unofficial) barebone Arch Linux ARM image, all you have is just a shell and SSH.

  • Download location

  • user-id/password


  • What works, what does not work

It's just fast and smooth, there's nothing, you'll have to install a desktop at your own. GNOME is a good example to look at. USB DHCP doesn't work yet, so you'll have to assign to the phone's network interface.

To access the device, ssh to with the credentials above.

  • Contributions

Feel free to send us merge requests on GitHub.



  • Download location
  • user-id/password
  • What works, what does not work
  • Where/how to report defects

See Bugs section on this page.

  • Contributions

Details about contributions and donations are on the NixOS website.


luneos.jpg Based on WebOS by LG, comes with Luna Next desktop environment.

  • Download location

LuneOS test image for PinePhone Tofe recommends using bmaptool ; for example "bmaptool copy /dev/mmcblk0". Rename .wic file to .img for standard dd usage.

  • user-id/password
  • What works, what does not work
  • Where/how to report defects
  • Contributions


Available soon?

Android 10

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 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.

Mobile Carrier APN Settings

See thread:

Disclaimer: Go to the websites of or speak to the customer support lines of those carriers which you want to use. No guarantees. This list is simply user-generated and serves to demonstrate examples of what worked for them. This list is not exhaustive, does not cover all possible carriers.

Distributions with Phosh (Debian + Phosh, pmOS + Phosh, Fedora)

APN settings are either located in Settings > Mobile > Access Point Names (pureOS, Debian + Phosh) or Settings > Network > Network Dropdown > Add new connection (pmOS, Fedora).


  • ATT
  • Metro

Red Pocket (USA)

You can choose AT&T, Verizon, T-Mobile or Sprint network. Known to work with the GSMA (ATT) SIM, calls and SMS work.

APN settings:

name: Red Pocket

Mint Mobile (USA)


Use the following APN settings:

Name: Ultra
APN: Wholesale

Call their customer service to activate using the number on their website, or activate on their website: You may also need to reboot your phone.

Tracfone (USA?)

BYOP sim card: works with T-Mobile and ATT compatible SIM cards provided in BYOP kit "Activation was as simple as putting the card in the phone and sending a text message." "I went to a different area today with better cell tower coverage and was able to make my first call from my pinephone."

Carriers That Do Not Work

  • FreedomPop (USA): VoIP-service. Customer service said they require Android 4.3+, and their free calling and texting works only with the Google Play app they make you use. So calls and texts don't work with non-smart phones and won't work with the PinePhone (even though it is a smart phone) because of software incompatibility. However, the data part still work if APN has been seen correctly set to You get 200MB free data per month. However, please watch out that you will get ding by $20 top up charge when over 200MB limit.
  • VoLTE services like Sprint or Verizon

Other Resources


Hardware information

  • PinePhone hardware details in this Pine64 wiki.
  • PinePhone_v1.1_-_Braveheart hardware details specific to the Braveheart handsets.
  • The postmarketOS wiki has a detailed page on the PinePhone hardware here, and the preceeding devkit here.

Other software information