Hello,
I've been using Fedora on my Pinephone for like 9 months or so and my Pinephone 
Pro Explorer Edition just arrived the other day. The original Pinephone's boot 
order had the microSD card before the eMMC which made it really easy to try 
different OSes. By contrast, on the Pinephone Pro, the boot order in hardware 
is:

1. SPI flash
2. eMMC
3. microSD

From the factory, there is a u-boot image on the eMMC drive which will boot an 
OS from the SD card before the eMMC and there is nothing on the SPI flash. This 
is problematic because it's really easy to accidentally get the device into an 
unbootable state when installing an OS to the eMMC drive if the factory uboot 
build is erased. There is a way to temporarily disable the eMMC drive in 
hardware to make it boot from SD, but that's not obvious or convenient. So, 
currently, the Pine wiki (https://wiki.pine64.org/wiki/PinePhone_Pro) advises 
against replacing the stock Manjaro OS on the eMMC drive and few distros are 
providing prebuilt images.

People working on different distros have been coordinating how to deal with 
this. The plan is to use a fairly new project, Tow Boot, and flash it to the 
SPI flash: 
https://samuel.dionne-riel.com/blog/2021/05/10/unveiling-tow-boot.html Putting 
the platform firmware on the SPI flash chip separate from the eMMC drive will 
make the process of installing OSes easier and more foolproof. Support for the 
Pinephone Pro in Tow Boot is almost ready with support for the Pinephone Pro's 
SPI flash just added today, albeit it needs a little polishing. Tow Boot on the 
SPI flash will make the process of installing an OS similar to x86; distros 
just need to create a UEFI bootable system and do not need to worry about 
shipping platform firmware. Tow Boot also obviates the need for JumpDrive. 
Simply pressing the volume up button on boot will expose the eMMC drive as a 
USB mass storage device, refer to https://github.com/Tow-Boot/Tow-Boot/pull/67 
for details about the UX design. Hopefully future Pinephon
 e Pro batches will ship with Tow Boot on the SPI flash from the factory, but 
for now users will need to install it by booting a Linux system from an SD 
card. A Tow Boot installer image like that has already been made for the 
Pinebook Pro, so I think one for the Pinephone Pro will be ready to test soon.

This is great new for Fedora because I think it means we can use the normal 
Fedora tools for building ARM images to create UEFI bootable images without 
needing the scripts in https://github.com/nikhiljha/pp-fedora-sdsetup that were 
made for the Pinephone. Using Fedora tooling to build the Pinephone Pro images 
opens up the path to smartphone support in upstream Fedora. I've been digging 
around in scattered documentation and talking to Conan Kudo on Matrix and IIUC, 
the way the upstream images are built is that Punji calls `koji image-build` 
which calls livemedia-creator. Please correct me if I've misunderstood this. 
I've tried to figure out how to build aarch64 images locally on my x86-64 
laptop and made a bit of progress using Mock with livemedia-creator as 
documented at 
https://weldr.io/lorax/livemedia-creator.html#using-mock-and-no-virt-to-create-images
 

Thanks to the efforts getting Fedora on the original Pinephone, good progress 
has been made getting Plasma Mobile and Phosh packaged in upstream Fedora. 
There are still a handful of packages in the 
https://copr.fedorainfracloud.org/coprs/njha/mobile/ COPR repository that 
aren't upstream. I think enough has been upstreamed at this point that we can 
start working on base Plasma Mobile and Phosh Kickstart files to use with 
livemedia-creator that could eventually make it upstream. For now, we'll still 
need device-specific Kickstarts for the downstream kernel packages which could 
%include the base Plasma Mobile or Phosh Kickstart. Fortunately for the 
Pinephone Pro, distros are coordinating to avoid the fragmentation that has 
happened with kernels for the original Pinephone and development effort is 
being coordinated on the 
https://gitlab.com/pine64-org/linux/-/tree/pine64-kernel-ppp-5.16.y/ repository.

One important feature that we haven't gotten working on the Pinephone is full 
disk encryption. One issue blocking this is that Plymouth (the software in the 
initrd that asks for the LUKS password) does not have an on screen keyboard: 
https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/144 Also, the 
Anaconda GUI wasn't designed for small touchscreen devices without a keyboard. 
Fortunately this could change with the recently announced rewrite of the 
Anaconda GUI: 
https://discussion.fedoraproject.org/t/anaconda-is-getting-a-new-suit/35916/15

Does this seem like a reasonable plan? Is there anything I've overlooked?
_______________________________________________
arm mailing list -- arm@lists.fedoraproject.org
To unsubscribe send an email to arm-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/arm@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to