From Fedora Project Wiki
(correct irc link)
(9 intermediate revisions by 5 users not shown)
Line 7: Line 7:
= Installation Guide =
= Installation Guide =


An unofficial script that generates a flashable image can be [https://github.com/nikhiljha/pp-fedora-sdsetup found here], and unofficial prebuilt images can be [https://github.com/nikhiljha/pp-fedora-sdsetup/releases found here]. Currently, the images do not support the internal eMMC and most be booted from an SD card.
You can install to one of two locations; either you install Fedora to the µSD card (expect about 23MiB/s read speed) or the eMMC (expect more than twice the read speed. Depending on your PinePhone model, you can get up to 3.5 times faster then µSD) ([https://xnux.eu/devices/pine64-pinephone.html#toc-feature-driver-support-matrix source, section Storage]).
 
Installing to µSD is risk free, if something break you remove it and the phone boots whatever is present on the eMMC.
But your experience will be hampered by the comparatively slow speed of the SD card controller.
 
Installing to eMMC allows you to have a fair comparison against the OS your PinePhone was shipped with.
 
The Pine64 wiki [https://wiki.pine64.org/wiki/PinePhone_Software_Releases#Factory_Test_OS has instructions on how to set up your PinePhone as shipped from the factory], so the risk of flashing to eMMC is still low.
 
== Install to µSD card ==
 
An unofficial script that generates a flashable image can be [https://github.com/nikhiljha/pp-fedora-sdsetup found here], and unofficial prebuilt images can be [https://github.com/nikhiljha/pp-fedora-sdsetup/releases found here]. The images support both  booting from the internal eMMC and booting from an SD card.
 
== Install to eMMC ==
 
# Fetch the unofficial prebuilt Fedora image from the section above
# Fetch (and write to µSD card) the tool ''JumpDrive''. It allows you to write to eMMC. Please see the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC instructions in the Pine64 wiki]
# Boot the phone with JumpDrive and then write the eMMC from your PC
# Writing to the eMMC of a PinePhone that booted ''JumpDrive'' uses the same commands as writing to a µSD card
# Do not forget to resize the 2nd partition on the eMMC '''and''' the f2fs file system in that partition


= Recommended Packages =
= Recommended Packages =


The default GNOME install doesn't work very well on such a small touch screen. Instead, librem's Phosh and various other related software have been packaged in [https://copr.fedorainfracloud.org/coprs/njha/mobile/packages/ the njha/mobile COPR], and are slowly moving over to the main package repository. KDE Plasma Mobile should also be compatible, but hasn't been packaged. If you're interested in packaging it, coordinate with others in the chat.
The default GNOME install doesn't work very well on such a small touch screen. Instead, Purism's Phosh and various other related software have been packaged in [https://copr.fedorainfracloud.org/coprs/njha/mobile/packages/ the njha/mobile COPR], and are slowly moving over to the main package repository. KDE Plasma Mobile should also be compatible, but hasn't been packaged. If you're interested in packaging it, coordinate with others in the chat.


== njha/mobile packages ==
== njha/mobile packages ==


italic packages are now directly maintained in the main package repository in F33, so you won't need the copr to use them
* ''phoc'' - A wayland compositor, needed to run phosh.
* ''phosh'' - A mobile version of the GNOME shell.
* carbons - XMPP Message sync for libpurple. Used by chatty.
* carbons - XMPP Message sync for libpurple. Used by chatty.
* chatty - A libpurple client (alternative to Pidgin) optimized for Phosh.
* calls - A phone dialer and call handler.
* ''feedbackd'' - Physical feedback daemon (LED, vibration, sound) integrated with Phosh.
* pidgin - A mildly hacked up version of pidgin that exposes private libraries for chatty to link with. (Don't worry, [https://source.puri.sm/Librem5/chatty/issues/266 upstream is working on it].)
* purple-mm-sms - A libpurple plugin for SMS- integrates with ModemManager.
* rtl8723cs-firmware - Firmware needed for Bluetooth on the PinePhone.
* rtl8723cs-firmware - Firmware needed for Bluetooth on the PinePhone.
* ''squeekboard'' - A touchscreen mobile keyboard, integrated with Phosh.
* pinephone-helpers - Runs some scripts to initialize the modem, alsa ucm2 profiles for HiFi and VoiceCalls, etc. Ideally all these tweaks will be built into the respective software eventually.
* pinephone-helpers - Runs some scripts to initialize the modem, switch audio routing when a call is in progress, etc. Ideally all these tweaks will be built into the respective software eventually.


== Main repository ==
== Main repository ==
italic packages are new and previously from the njha/mobile copr repo.


* NetworkManager - Connect to the modem, needed for data, sms, calls.
* NetworkManager - Connect to the modem, needed for data, sms, calls.
Line 37: Line 47:
* purple-telegram - Telegram plugin for libpurple.
* purple-telegram - Telegram plugin for libpurple.
* gdm - Self explanatory. Ideally this would be switched out for lightdm but I (njha) haven't been able to get that to work.
* gdm - Self explanatory. Ideally this would be switched out for lightdm but I (njha) haven't been able to get that to work.
* ''squeekboard'' - A touchscreen mobile keyboard, integrated with Phosh.
* ''feedbackd'' - Physical feedback daemon (LED, vibration, sound) integrated with Phosh.
* ''calls'' - A phone dialer and call handler.
* ''callaudiod'' - A call audio routing daemon used in Calls.
* ''phoc'' - A wayland compositor, needed to run phosh.
* ''phosh'' - A mobile version of the GNOME shell.
* ''chatty'' - An libpurple client (alternative to Pidgin) optimized for Phosh. For SMS and Matrix.
* ''purple-mm-sms'' - A libpurple plugin for SMS- integrates with ModemManager. Chatty is planned to handle this [https://source.puri.sm/Librem5/chatty/-/merge_requests/687 natively] at some point.


= Contributing =
= Contributing =
Line 44: Line 62:
== Chat ==
== Chat ==


If you're interested in improving Fedora on PinePhone, there is a bridged chatroom for Telegram, Discord, Matrix, and IRC.
If you're interested in improving Fedora on PinePhone, there is a bridged chatroom for Telegram, Matrix, and IRC.


* Telegram: https://t.me/fedoraphone
* Telegram: https://t.me/fedoraphone
* Discord: https://discord.gg/NV4U45G
* IRC: {{fpchat|#fedora-phone}} on Libera.chat (not recommended, images and video aren't bridged)
* IRC: #fedora-mobility on Freenode (not recommended, images and video aren't bridged)
* Matrix: #fedora-mobile:matrix.org
* Matrix: #fedora-mobile:matrix.org



Revision as of 12:26, 4 June 2021

Introduction

The PinePhone is a Linux-native mobile phone. It is based on an AllWinner CPU. Fedora does not (yet) support the PinePhone, but it is possible to get it running with a custom kernel. (Update: 03/30/2020 - It should now be possible to boot regular Fedora Rawhide, provided you can get u-boot to cooperate. This has not been tested, so you should still follow the custom kernel guide for now.) This documentation describes how to install Fedora on a PinePhone, and links to useful resources.

Installation Guide

You can install to one of two locations; either you install Fedora to the µSD card (expect about 23MiB/s read speed) or the eMMC (expect more than twice the read speed. Depending on your PinePhone model, you can get up to 3.5 times faster then µSD) (source, section Storage).

Installing to µSD is risk free, if something break you remove it and the phone boots whatever is present on the eMMC. But your experience will be hampered by the comparatively slow speed of the SD card controller.

Installing to eMMC allows you to have a fair comparison against the OS your PinePhone was shipped with.

The Pine64 wiki has instructions on how to set up your PinePhone as shipped from the factory, so the risk of flashing to eMMC is still low.

Install to µSD card

An unofficial script that generates a flashable image can be found here, and unofficial prebuilt images can be found here. The images support both booting from the internal eMMC and booting from an SD card.

Install to eMMC

  1. Fetch the unofficial prebuilt Fedora image from the section above
  2. Fetch (and write to µSD card) the tool JumpDrive. It allows you to write to eMMC. Please see the instructions in the Pine64 wiki
  3. Boot the phone with JumpDrive and then write the eMMC from your PC
  4. Writing to the eMMC of a PinePhone that booted JumpDrive uses the same commands as writing to a µSD card
  5. Do not forget to resize the 2nd partition on the eMMC and the f2fs file system in that partition

Recommended Packages

The default GNOME install doesn't work very well on such a small touch screen. Instead, Purism's Phosh and various other related software have been packaged in the njha/mobile COPR, and are slowly moving over to the main package repository. KDE Plasma Mobile should also be compatible, but hasn't been packaged. If you're interested in packaging it, coordinate with others in the chat.

njha/mobile packages

  • carbons - XMPP Message sync for libpurple. Used by chatty.
  • rtl8723cs-firmware - Firmware needed for Bluetooth on the PinePhone.
  • pinephone-helpers - Runs some scripts to initialize the modem, alsa ucm2 profiles for HiFi and VoiceCalls, etc. Ideally all these tweaks will be built into the respective software eventually.

Main repository

italic packages are new and previously from the njha/mobile copr repo.

  • NetworkManager - Connect to the modem, needed for data, sms, calls.
  • gnome-terminal - Self explanatory
  • gnome-contacts - Self explanatory
  • purple-matrix - Matrix plugin for libpurple.
  • purple-telegram - Telegram plugin for libpurple.
  • gdm - Self explanatory. Ideally this would be switched out for lightdm but I (njha) haven't been able to get that to work.
  • squeekboard - A touchscreen mobile keyboard, integrated with Phosh.
  • feedbackd - Physical feedback daemon (LED, vibration, sound) integrated with Phosh.
  • calls - A phone dialer and call handler.
  • callaudiod - A call audio routing daemon used in Calls.
  • phoc - A wayland compositor, needed to run phosh.
  • phosh - A mobile version of the GNOME shell.
  • chatty - An libpurple client (alternative to Pidgin) optimized for Phosh. For SMS and Matrix.
  • purple-mm-sms - A libpurple plugin for SMS- integrates with ModemManager. Chatty is planned to handle this natively at some point.

Contributing

We need help with everything! Please help :)

Chat

If you're interested in improving Fedora on PinePhone, there is a bridged chatroom for Telegram, Matrix, and IRC.

Other Resources