What if we could have a Silverblue Phone Edition?

Hi,

With the launch of the Librem 5 phone and the upcoming PinePhone, it looks like in the near future we will have in the market at least a couple of phones compatible with mainline linux kernel and (I think) without requiring any proprietary binary blobs.

Regarding mobile operating systems, the Librem 5 comes with PureOS, which is a Debian Buster derivative that uses the phosh “desktop” environment (you can see it here in action). I’ve tested it in a virtual machine following this instructions and, although there are lots of missing functionalities, it feels like home if you are used to GNOME. It doesn’t currently have lots of apps but flatpak is installed by default.

The PinePhone makers have delegated to the community the operating system creation and the people at PostmarketOS, UbuntuTouch and other projects are working on providing ports for this phone.

In my opinion, Silverblue with the posh desktop environment could be a great mobile OS. OSTree seems like a perfect fit for this kind of devices and the apps could be installed via flatpak.

I think currently there is not arm/aarch64 port of Silverblue and the boot process for phones is different to regular computers so making it possible won’t be easy nor fast. Anyway I wanted to share this idea with you and know your opinion about it.

Regards,
Jorge

7 Likes

These devices do require proprietary blobs, at least the Librem does. That
said, I fail to see how OSTree would be useful here, much less flatpak. Why
not just install the software through the package manager?

The boot process is not different past the point that matters. It’s only
different until you get to the bootloader.

John M. Harris, Jr.
Splentity

If your phone battery dies or something goes wrong in the middle of an update, everything stays intact. It’s a similar level of resilience to Android’s A/B partitioning.

3 Likes

That’s not really an issue with normal package management either.

I don’t know what you’re talking about with A/B partitioning, my device, when
it was running Android, just had 5 partitions, for the top level directories.

But it is. Plus phone shouldn’t be in a mid-state either as it’s harder to fix/debug on. Banks will also want the phone to be in a validatable state if you’re going to have things such as contactless payments.

Android has over a decade of bad design decisions that plague it to this day and Google puts more effort into making hacks to cover them than actually fixing the issue.

1 Like

https://source.android.com/devices/tech/ota/ab

There are a couple ideas at play:

  • The user can continue using the device while an upgrade is performed, if anything crashes or the device dies / reboots there’s no concern that it’s soft bricked.
  • App upgrades are also atomic, they cannot be interrupted and can run safely and automatically on the background.
  • Because the emphasis is on running in the background, the jobs are set to use a low I/O priority, which helps reduce the risk of I/O errors.
1 Like

That’s not how Android actually works. If you perform a system upgrade, and
your device resets or shuts down during that update, your device is soft
bricked. Will need fastboot to get it fixed.

Additionally, when doing system upgrades, the device is completely unusable.
That would obviously not be the case with a normal package manager, such as
dnf.

No, your device probably doesn’t use A/B partitioning. On my Pixel, the upgrade occurs while the device is running and can be moved to the background. The only thing that occurs on reboot is refreshing the ART caches. This is how Magisk manages to support OTA upgrades: once the update is complete you open up Magisk Manager before rebooting and flash Magisk to the other slot.

In addition, you can also manually switch between slots via fastboot.

2 Likes

May I have the source information on this please?

2 Likes

Yeah userspace is blobless. There are things like the modem but those are non-updateable and doesn’t touch the main CPU as far as I am aware. I think it is the same for the pinephone.

See:

https://www.phoronix.com/scan.php?page=news_item&px=Librem-5-Secondary-Proc-Blobs

But I was thinking this same thing! Ostree + phosh would make a great phone os! Purism was thinking about it, but more so as a far off idea not something within the coming year I believe.

You can check hackersgame’s channel for some videos on the status of some DEs and openSUSE on the librem 5 devkit.

The company Endless has a lot of experience in working with Ostree. It would be great to see Endless en Pursim work together. Endless could do the implementation of Ostree and Pursim could help developing the desktop environment further.
Of course both need time to do this and I think both don’t have that time right now. Maybe somewhere in the future (2021)?
Having said all this, it would be very cool!!

Unless they’ve got some hardware which has yet to be released, the modem will
require proprietary firmware (thank the FCC + vendors for that), and the
bootcode will require non-free initialization firmware, similar to other
Purism devices. I cannot speak for other parts of the device, because I
haven’t seen what’s on there, but it’s likely the same will be true for the
wifi and GPU.

Looks like they’re trying to get around it by just putting ROM chips on the
board, and writing it off as “non-updatable”. That’s highly unfortunate.