Purism

Purism

Beautiful, Secure, Privacy-Respecting Laptops, Tablets, PCs, and Phones
Purism

Welcome back

Welcome to the fourth installment in our PureOS development series!  We are pleased to provide more progress updates from October.  In addition to subscription-funded development, Purism continues to fund the infrastructure work needed to release PureOS Crimson.  Your support helps us advance PureOS for all Librem devices and for the larger FLOSS ecosystem.

At the end of September, we had a large backlog of pending jobs to address:

While many of these were for the “landing” suite (the development version of PureOS), they were blocking jobs for Crimson.  The oldest jobs could not proceed, as there was no build environment for landing on the new worker, and Laniakea would not skip past them to process the jobs for Crimson.

It’s a marathon, not a sprint

This left us a choice – either we do something to Laniakea to skip over these jobs and process Crimson, or we fix landing so those jobs could proceed.  Any work in Laniakea probably would not be useful in the long term, and we might undo it once work resumes on landing.  Fixing landing has to happen eventually, but it’s not a direct benefit to Crimson.

Decisions like this are common.  Either we can sprint to the finish line now, or we stay in it for the marathon by doing work with the most long-term value.

In this case, we fixed landing by updating the base-files package, which turned out to be relatively straightforward.  With the latest updates from Debian, we could again bootstrap landing, so build jobs could proceed.  At long last, the build queue is now empty!

Synchronization resumes

With builds and migrations again running smoothly, we could finally address a number of packages that needed synchronization in Crimson.  We updated dpkg, grub, initramfs-tools, flash-kernel, localechooser, apt-mirror, util-linux, and epiphany.  All of those had changes in PureOS to combine with new work from Debian, and many of them are key components of PureOS installations.  Epiphany also received configuration fixes via an update to librem5-base.

Additionally, we updated a number of packages for Byzantium: dpkg, appstream-glib, glib2.0, gst-plugins-bad1.0, util-linux, and postgresql-common.  While Byzantium won’t receive new major versions of software, we are still maintaining the existing software in Byzantium since it is in active use.

Maturing with age

We often compare the Librem 5 to a good wine: unlike disposable phones, it improves with age.

Both Crimson and Byzantium received updates for librem5-base.  We’ve now enabled Linux’s multi-generation page reclamation, which is beneficial for interactive systems using most of their available memory.  To utilize both RAM and swap space (including compressed RAM), the kernel must decide which memory pages to keep in RAM and which to swap out.  Since the kernel can’t predict the future, it makes its best effort to guess which pages will be used again soon.  If it’s wrong, it may spend a lot of time moving pages between swap and RAM, which slows the system down greatly.

The latest configuration tells Linux never to swap out a page that was touched in the last 1 second.  For interactive use, like a desktop computer or phone, this greatly improves responsiveness, especially when there is not much free RAM to work with.

These improvements reached both Byzantium and Crimson for the Librem 5.  While many disposable phone models have come and gone in the Librem 5’s life, we are proud to continue providing updates to it.

Made possible by your contributions

As always, this work in PureOS was made possible by both PureOS subscriptions and funding from Purism.  We appreciate all of our subscribers, and we look forward to each month!

In addition to subscribing, you can also support PureOS by getting involved directly.  Soon, we will need to review PureOS patches for gtk, gnome-control-center, and gnome-initial-setup to reincorporate those into Crimson.  We temporarily dropped these patches earlier in Crimson development, as it’s much easier to work on them with a working base system.

We have our eyes on completing the first milestone: Crimson images ready for alpha test by the community.  Once those images are ready, feedback from the community will be crucial to bring Crimson to general release.  Stay tuned for more updates, and subscribe to help us reach that goal!

Recent Posts

Related Content

Tags