PinePhone Software Releases

From PINE64
Revision as of 21:07, 16 April 2020 by Dukla2000 (talk | contribs) (Add section to clear SPL & Uboot to use SDcard for data storage)
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

Jumpdrive thread

  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, and resize partitions (optional, see below)
  6. 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, and (optionally) resize the partition (see below)
  2. Insert SD card and boot the phone
  3. Open terminal and git clone [url] your desired project OR: Open web browser and download the desired OS image file.
  4. Build the OS (Optional)
  5. 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. Then, resize partition to fill up entire disk (see below).
  6. 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.

  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.

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.

Software Releases

postmarketOS

postmarketos.png

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: The Phosh lock screen requires your password, but only presents a numeric keyboard. So you should use only numbers in your password.)

  • 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 2 April 2020) demo on YouTube.

Ubuntu touch is a mobile version of Ubuntu developed by the UBports community. Images can be downloaded from here. There is also a 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 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.

  • Where/how to report defects

See UBports gitlab page.

  • Contributions

See UBports website for how to donate.

Debian-PinePhone

Debian-logo.png

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

  • Download location

Debian-pinephone downloadable images

Don't forget to extract the image before installing: $ gzip -d Downloads/debian-pinephone-*.img.gz

See the project page for specific installation instructions.

  • user-id/password

debian/1234

  • What works, what does not work

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

Check bug tracker for known issues. Questions? Ask on our thread.

  • Where/how to report defects

It is recommended that you log your bug reports in the project's issue tracker. As a general rule, issues with third-party apps (even the default ones) should be reported upstream. A Debian-PinePhone issue would be related to getting the hardware to work on the PinePhone, but if unsure where the issue should be reported just open a ticket or ask.

  • Contributions

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

  • User Experience Notes

If not already mentioned on the project page, the thread might have known workarounds to software and user experience issues as contributed by the users.

The Chatty app requires that 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 [1] [2] [3]

  1. sudo apt install linux-libc-dev build-essential ninja-build meson cmake libwayland-dev
  2. Continue the rest of the instructions on this page
  3. When you finish, you will have a touch-capable app you can use to adjust resolution any time, useful when switching between various apps. Unlike other solutions, this works across reboots.

Most of Debian's repository is available. There are packages that apt won't find, which 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. Give their wiki page some TLC.

Apps that don't work with Wayland: if you encounter an app that only works with X11 and not Wayland, report it upstream to the app's developers.


SailfishOS

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!

Instructions:

  1. Download the flashing script
  2. Insert a microSD card in your device
  3. Make the script executable: chmod +x flash-it.sh
  4. Verify that you have the bsdtar package installed
  5. Execute it: ./flash-it.sh
  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 (9 Apr) version of Sailfish no longer has a defect with the auto brightness! To install on an sdcard you need to have a sim card in the phone - doesn't have to be an active one. If you then unset the device lock password in settings you can take the simcard out. If you're not familiar with SFOS, be prepared by having a (free) Jolla account and 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. To enable openrepos.net install the Storeman app by downloading the rpm from https://openrepos.net/content/osetr/storeman. You may need to get the rpm onto the phone by other means as the built in browser is not working at the moment. Press the rpm file and you will be asked to install it. Once you have the Storeman app installed browse the store and add repository first from the pulley menu before installing the app you want. The Webcat browser on openstore works.

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


PureOS

File:Pureos.png

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.

  • user-id/password

purism/123456

Fedora

fedora.png

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

pine/1111

  • 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

archlinux.png

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

  • Download location

https://github.com/dreemurrs-embedded/Pine64-Arch/releases

  • user-id/password

alarm/alarm

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

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

  • Contributions

Feel free to send us merge requests on GitHub.

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.

Maemo Leste

maemo_leste.png

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

root/toor

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.

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

phablet/1234

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

NixOS

nixos.png

NixOS support is handled through the Mobile NixOS project.

There is no pre-built complete image. For now users are expected to follow the instructions in the Getting Started page, and on the device's page.

  • What works, what does not work

This information may change, but currently it boots, it's as compatible as the Android-based devices are with Mobile NixOS. It even supports a bit more since it can use Wi-Fi.

Support for all of the hardware will be coming, this project is a breadth-first work, where the work spans multiple devices in parallel.

  • Where/how to report defects

On the project's repository. Please specify that you are using a Pinephone when reporting issues.

  • Contributions

Details about contributions and donations are on the NixOS website.

LuneOS

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 http://build.webos-ports.org/luneos-testing/images/pinephone/luneos-dev-image-pinephone-testing-0-15.rootfs.wic.gz /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

Aurora

Available soon? https://mobile.twitter.com/neochapay/status/1189552654898188288?p=p

Android 10

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

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 https://github.com/nikhiljha/pp-fedora-sdsetup (an example for Fedora) or https://xnux.eu/howtos/install-arch-linux-arm.html (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 https://xff.cz/kernels/ (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.

Mobile Carrier APN Settings

See thread: https://forum.pine64.org/showthread.php?tid=9150

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-based (USA)

  • 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
APN: RESELLER

Mint Mobile (USA)

Source: https://www.mintmobile.com/setup-for-android/

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: https://my.mintmobile.com/activation. You may also need to reboot your phone.

Tracfone (USA?)

BYOP SIM Card Kit: works with T-Mobile and AT&T compatible SIM cards provided in BYOP kit

Calls, SMS, and 3G/4G data known to work with AT&T SIM. (most likely works for T-Mobile as well)

Use the following APN settings:

Name: Tracfone
APN: RESELLER

Mobile Vikings (Belgium)

Source: https://support.vikingco.com/hc/en-us/articles/202836041-I-don-t-have-any-mobile-internet-What-do-I-do-

Name: Mobile Vikings
APN: web.be
Username: web
Password: web

Virgin Mobile (Canada)

Settings might work with Bell Canada too since it is the same network. Calls, SMS and 4G data appear to be working fine. Note that SIM may well be nano-sim but pinephone is micro-sim and may require an adapter.

Name: Mobile Fast Web
APN: pda2.bell.ca
Username:
Password:

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 fp.com.attz. 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

Community

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

Other