Skip to content

Releases: Eric-Ness/linuxlive

v0.7.0: save files and settings on the USB stick (Ubuntu)

Choose a tag to compare

@Eric-Ness Eric-Ness released this 16 Oct 18:40

Persistence: files and settings saved back to the USB stick (Ubuntu).

  • persistence: true: the boot menu's first entry keeps the live system's changes on the stick. That covers files, settings and apps added. casper makes a partition labelled writable in the free space after the ISO on the first boot.
  • A second entry starts clean and leaves what was saved alone. Install always installs the clean system.
  • CI test: the ISO is copied onto a bigger stick image and booted twice (boottest modes persist-1 and persist-2). The second boot must find what the first wrote, both the system's file and the live user's. verify-results has a new persistence check, so a passing run now prints VERIFY OK iso,boot,session,install,persistence.
  • Not on Fedora yet. Fedora-based specs are refused, with the reason. dmsquash-live keeps a persistent overlay only on a partition made beforehand, and nothing makes one on a written ISO. Doing it would mean repartitioning the boot stick from the initramfs.

CI: run 38936347364 (all nine examples; settings-ubuntu boots a writable stick twice and finds the first boot's files).

v0.6.0: any app from Flathub

Choose a tag to compare

@Eric-Ness Eric-Ness released this 16 Oct 18:32

Any app from Flathub, not just the catalog's 20.

  • The flathub list: any Flathub app by its ID, for example flathub: [org.gnome.Chess]. The catalog's apps stay as curated suggestions. A Flathub app can be the kiosk app.

  • validate --online asks Flathub's API that each app:

    • exists,
    • is an app and not a runtime,
    • is built for the ISO's CPU.

    It shows Flathub's verified mark and warns about apps on a runtime that no longer gets updates. The build workflow runs it before anything is built.

  • Thunderbird's ID changed. The catalog now uses org.mozilla.thunderbird. Flathub moved Thunderbird, and the old ID's last build is on an end-of-life runtime. check_catalog now fails a catalog app in that state.

  • New examples. settings-fedora adds KCalc and settings-cinnamon adds GNOME Chess, both from Flathub. CI checks both are installed in the live session and on the installed disk.
    CI: run 38936339750 (all nine examples built, booted, installed and verified).

v0.5.0: settings and no-code options

Choose a tag to compare

@Eric-Ness Eric-Ness released this 16 Oct 18:31

Settings and no-code options. Everything here is data, so linuxlive.com's Build it for me builds specs that use it.

New in the spec

  • settings
    • language: one of 27 locales, with the base's translations (Ubuntu's language packs, Fedora's langpacks) and the Flatpak apps' translations.
    • keyboard: one of 25 XKB layouts, for the console, X11, GNOME, Plasma and kiosk mode.
    • timezone, and hostname (the computer's name; defaults to the id).
    • autologin: installed systems log in automatically. The installer's box starts ticked.
    • hidden_apps: menu entries to hide. They stay installed, and on Ubuntu package upgrades keep them hidden.
  • firefox: a home page and toolbar bookmarks, as policies Flathub's Firefox reads.
  • kiosk: one of the spec's apps, started full screen in Cage instead of the login screen. The boot menu's Install entry still starts the desktop.

Checked in CI

  • Five new examples, built and booted but not published:
    • settings-ubuntu (Spanish, GNOME)
    • settings-fedora (German, KDE)
    • settings-cinnamon (Brazilian Portuguese, Fedora Cinnamon)
    • kiosk-ubuntu (a French Firefox kiosk)
    • kiosk-fedora (an Italian GCompris kiosk)
  • The boot check reports from the running system, and verify-results checks:
    • the session's language and the desktop shell's translation
    • the layout each desktop types with
    • the time zone and the computer name
    • hidden entries
    • Firefox's open page and bookmarks
    • the kiosk app, with no desktop shell running
    • automatic login on the installed disk

Fixed along the way

  • Flatpak apps did not start in Ubuntu live sessions. In casper's overlay root, Ubuntu's AppArmor limit on unprivileged user namespaces stopped bubblewrap. live-setup lifts the limit in live sessions only. CI now starts an app in every live session and on every installed disk; before, it only listed them.
  • The kiosk on Ubuntu runs its app through Xwayland. Ubuntu 26.04's Cage 0.2.1 crashes when a Wayland app asks for full screen early. Cage may draw in software, as in VMs without 3D.
  • Firefox's own default bookmarks are left out when the spec has bookmarks. On a new profile, their import replaced the first of the spec's.

Also

  • The installer's time zone defaults to the running system's.
  • Fedora's live session keeps the distro's computer name; livesys had named it localhost-live.
  • tzdata is a new dependency, so time zones validate the same everywhere.

Known in this release (fixed in v0.8.0)

  • A Firefox kiosk shows one of Firefox's first-run dialogs over its home page until someone dismisses it.
  • On Ubuntu GNOME, the installer's desktop launcher shows a red cross: Ubuntu's desktop icons want it marked trusted. The boot menu's Install entry works.

CI: run 38936335984 (all nine examples built, booted, installed and verified).

linuxlive 0.4.2: room for large distros

Choose a tag to compare

@Eric-Ness Eric-Ness released this 14 Oct 23:52

The install test gives the virtual PC a 64 GB disk instead of 20 GB, so large distros (Tiki Head Linux, a GIS workstation, needs 22 GB) are installed and tested too. The disk is qcow2 and grows only as the install writes, so small distros cost nothing extra. To upgrade, change @v0.4.1 to @v0.4.2 in your workflow.

linuxlive 0.4.1: installer disks on Fedora, named builds

Choose a tag to compare

@Eric-Ness Eric-Ness released this 14 Oct 20:54

Two fixes from real-world testing:

  • The Fedora installer's window now finds the disks. It lists and installs through sudo -n, which Fedora's live user could not use without a password, so it showed no disk. The live session now lets its users run install-to-disk, and only that, without a password. The rule lives in the live overlay, which no install keeps. When the window finds no disk, it now says why. The boot check also lists the disks as the live user, the way the window does, so this cannot break unnoticed again.
  • Every build is named. CI gives each build an id (the date and the run number, like 2026.10.15.7). It goes into os-release as BUILD_ID and into the results' meta.json, so a monthly rebuild of one version can be told apart from the last.

Proven by run 38629701954 on all four examples. To upgrade, change @v0.4.0 to @v0.4.1 in your workflow; linuxlive.com's My distros page offers it as a pull request.

linuxlive 0.4.0: extras

Choose a tag to compare

@Eric-Ness Eric-Ness released this 14 Oct 10:09

A spec can now carry the distro's own additions, all optional:

  • packages: from the base's own archive (apt on Ubuntu, dnf on Fedora).
  • files: copied into the system under /etc or /usr (up to 20 MB), with a mode. They can't replace a file linuxlive writes.
  • scripts.build: runs as root in the image build, with the network.
  • scripts.first-boot: runs once as root on an installed system, before its login screen.
  • scripts.first-login: runs once per user, as that user.
  • repos: public GitHub code at an exact 40-character commit, with a run command executed in its checkout during the build. Each repo and commit is added to the ISO's package list for the source offer.

Build steps run before linuxlive's own finalize, so branding, the installer and the boot checks still come last and are still tested. The boot check reports every extra. verify-results checks that each package is installed, each file holds the spec's contents and each script ran and succeeded, both in the live session and on the installed disk. The TestOS examples use every kind of extra; run 38542374434 proved all of them on Ubuntu and Fedora.

To upgrade, change @v0.3.0 to @v0.4.0 in your workflow. Specs without extras build exactly as before. See Writing a Spec: Extras.

linuxlive 0.3.0: Fedora installs

Choose a tag to compare

@Eric-Ness Eric-Ness released this 14 Oct 06:51

Fedora-based ISOs now install too, with the same Install desktop icon, Install boot-menu entry and installer as Ubuntu's. The installer runs bootc install to-disk from the system image the build published, so:

  • Callers that build Fedora-based specs set publish-image: true and grant packages: write. The build pushes the image to ghcr.io/<owner>/<repo>/<name>, tagged run-<id>, and :latest once the build is verified.
  • Installing needs the internet. Installed systems follow :latest, so bootc upgrade brings each newer verified build.
  • A first-boot service creates your user before the login screen starts. The installer icon, Plasma Welcome and upstream's first-login setup are left out of the installed system. Autologin works on GNOME, KDE (Plasma Login Manager) and Cinnamon.

The live KDE session no longer opens Plasma Welcome. CI installs all four examples unattended in QEMU and boots each installed disk under UEFI with Secure Boot and under BIOS. For Fedora, verify-results checks that the system runs the published image from xfs. Proven by run 38521159901.

Not yet: dual boot, encryption, and offline installs of Fedora-based ISOs. To upgrade, change @v0.2.0 to @v0.3.0 in your workflow and add the two lines above.

linuxlive 0.2.0: an installer

Choose a tag to compare

@Eric-Ness Eric-Ness released this 13 Oct 21:06

Every Ubuntu-based ISO can now install itself: an Install icon on the live desktop and an Install boot-menu entry open a small installer (disk, name, user, password, computer name, time zone, log in automatically). After you type erase it erases that whole disk and installs the system, booting under UEFI with Secure Boot (through Ubuntu's signed shim) and under BIOS. Casper, the live user and upstream's first-login wizard are left out.

CI installs both Ubuntu examples unattended in QEMU and boots the installed disks to the desktop (UEFI with Secure Boot) and under BIOS; verify-results has a new install check. Proven by run 38463987701.

Not yet: dual boot, encryption, and an installer for Fedora-based ISOs. To use it, change @v0.1.3 to @v0.2.0 in your workflow.

linuxlive 0.1.3

Choose a tag to compare

@Eric-Ness Eric-Ness released this 13 Oct 12:26
  • Every ISO now comes with <name>.iso.packages: each installed package, its version and the source package it was built from (Ubuntu's source=version, Fedora's source RPM), so the matching source can be found in Ubuntu's and Fedora's archives. The iso-<name> artifact carries it beside the ISO and its SHA-256.
  • The boot check watches the desktop shell until the test ends, not only 30 seconds after login, and reports shell_crashed with the session's error lines (core dumps included). verify-results fails if the shell crashed or was not watched. Cinnamon on Ubuntu had crashed a minute after login, after the old check.

Proven by CI run 38393370544 (all four examples built, booted five ways, verified and published).

To use it, change @v0.1.2 to @v0.1.3 in your workflow.

linuxlive v0.1.2

Choose a tag to compare

@Eric-Ness Eric-Ness released this 12 Oct 13:06

The live session your distro boots into is quieter. Every build now also fails if a system service fails.

What changed

  • No failed services. Test boots kept logging one: casper-md5check in Ubuntu desktop sessions, and mcelog in 46 of the 51 Fedora boots CI recorded before this release. Now none fail, and the build check fails if any system service does, at login or 30 seconds later.
  • Ubuntu ISOs carry md5sum.txt. Ubuntu's live session checks the medium against this file. The build checks every checksum in it against the ISO's own bytes, and a test boot reports that Ubuntu's own check passes.
  • No update nags in the live session. Nothing installed in a live session survives shutdown. Ubuntu's update notifier (and its Ubuntu Pro reminder) and KDE Discover's notifier don't start, and GNOME Software doesn't check for updates or download them. Installed systems are unaffected: this runs only when booted from the ISO.
  • No phantom installer. On Fedora with KDE, the welcome window offered to start an installer the image doesn't have. Now it just welcomes you.
  • mcelog stays off in virtual machines, where it has nothing to do.

Upgrade

In your repository's .github/workflows/build.yml, change the version after build.yml@ to @v0.1.2 and commit. The template already uses v0.1.2.

Tested

CI run 38249801807 built all four example distros, booted each in all five modes and verified them against their specs with the new checks. On both Ubuntu examples, Ubuntu's own medium check read all 297 checksums in md5sum.txt and passed.

Known limitations

The ISOs are live only, they run on 64-bit Intel and AMD PCs, and they've been tested in QEMU and VirtualBox but not on real hardware. The full list is in Known Limitations.