Difference between revisions of "PinePhone Software Releases"
Line 209: | Line 209: | ||
# 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. | # 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 [https://wiki.debian.org/Arm64Port 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 [https://wiki.debian.org/Arm64Port this page], since this helps them track the status of ARM64 with Debian. | 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 [https://wiki.debian.org/Arm64Port 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 [https://wiki.debian.org/Arm64Port this page], since this helps them track the status of ARM64 with Debian. Give their wiki page some TLC. | ||
* ''' Where/how to report defects ''' | * ''' Where/how to report defects ''' |
Revision as of 21:32, 7 April 2020
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
- 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.
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
- download and extract 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
git clone [url]
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
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). - 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 (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 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).
- 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.
- 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).
- Edit /etc/fstab to match your partitions.
- 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.
Backlight
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
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
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
- 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
- Contributions
See UBports website for how to donate.
Debian-PinePhone
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.
Please note. 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]
sudo apt install linux-libc-dev build-essential ninja-build meson cmake libwayland-dev
- Continue the rest of the instructions on this page
- 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.
- 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.
SailfishOS
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:
- Download the flashing script
- Insert a microSD card in your device
- Make the script executable:
chmod +x flash-it.sh
- Verify that you have the
bsdtar
package installed - Execute it:
./flash-it.sh
- 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 (2 Apr) version of Sailfish no longer has a defect with the auto brightness! 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. Browse the apps and add repository first from the pulley menu before installing the app.
- 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
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
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.
- 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
- What works, what does not work
- WiFi, Bluetooth, SMS, Data, Calls all work!
- There are still a few bugs though, and [some features don't have driver support yet https://xnux.eu/devices/pine64-pinephone.html#toc-feature-driver-support-matrix] on any PinePhone distribution.
- 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
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 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
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 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 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
- Where/how to report defects
For more info please visit neochapay's github page
- Contributions
KDE Neon
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
- 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
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.
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
- 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: 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 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
- sunxi community wiki
- megi feature/driver support matrix
- megi bootUI notes (for dualbooting/multibooting)
- ayufan boot tools
Other