News

lens and linux-lens work

Two big pieces of lensOS went from “built” to “working” this week: lens, our package manager, and linux-lens, our kernel. Both were tested on an installed lensOS system (in a virtual machine, installed with the new lensOS installer).

lens

lens is our own package manager, written in Rust on top of libalpm, the engine inside pacman. It reads the same configuration, downloads from the same Arch mirrors and writes the same package database, so pacman keeps working next to it. On top of that it adds the AUR, Flatpak, an Arch news check and Btrfs snapshots, all behind one command.

What we tested, start to finish:

  • updating itself from the lensOS repo, three versions in a row
  • installing from the AUR (lens install yay-bin): dependency check, PKGBUILD review, build as the user, install
  • snapshot, install, roll back, restart: the package was gone afterwards and the system came back up on its own kernel with no failed services

lens taking a snapshot by hand and refusing an unsafe rollback

Testing also turned up two real bugs, both fixed:

  1. Early versions of lens didn’t run the system’s package hooks, so a kernel installed with lens never got its boot image built. lens now runs them exactly like pacman does.
  2. That bug left an old snapshot with incomplete kernel drivers. Rolling back to it booted into a system that couldn’t mount its boot partition (the second kernel in the boot menu still worked). lens now checks every installed kernel’s drivers in a snapshot before it agrees to roll back.

a rollback that went through

A rollback keeps the system it replaced, so a rollback can itself be undone. lens clean offers to delete those old systems when you’re sure. It never offers the one that’s still running. The full command list is in the lens docs.

linux-lens

linux-lens is Arch’s kernel with the BORE scheduler added. BORE keeps the desktop responsive while something heavy runs in the background. It booted on the first try, with BORE active and every service running.

It’s now the default kernel in new installs. A boot menu generator puts it first and keeps linux-lts as the fallback entry. When a kernel is installed, updated or removed, the menu rewrites itself. More in the kernel docs.

Still not downloadable

The same three things stand between these builds and a download: the signing key, the package repo going live at packages.lensos.org, and automatic nightly builds. Follow the roadmap for those.