Skip to content

strip unstable fields in os-release to make the initramfs reproducible #2568

Description

@renner0e

Our initramfs is not reproducible because our os-release includes fields that are unstable and change with every image we publish and results in every image having a unique initramfs.

This means ~200 MiB (~300MiB for nvidia) have to be re-downloaded, even though the kernel, kernel-modules or firmware (something we actually care about) did not change.

What we could do is patch those lines out, regenerate the initramfs, and put the lines back.

VERSION="testing-44.20260716.1 (Kinoite)"
PRETTY_NAME="Aurora (Version: testing-44.20260716.1)"
OSTREE_VERSION='testing-44.20260716.1'
BUILD_ID="c8e6cf3"
IMAGE_VERSION="testing-44.20260716.1"

How?
Secureblue already does this

Straight up not including os-release with dracut probably will break some things (in the future).

This would gain us (when the kernel and friends don't change):

  • smaller updates (especially noticeable for daily images)
  • soft-reboot (might be awesome for DX, one less reboot, although when iso is old this has no benefit whatsoever)

Downsides:

  • additional complexity
  • potentially unexpected issues screwing us over by os-release being different in the initramfs than what the actual system has

We could do this per-variant at first, so aurora:stable to aurora-dx:stable is reproducible, additionally we could strip fields:

  • that make DX unique (aurora-dx mentions)
  • that are unique to a specific stream (testing, stable, latest), currently :stable is unique and has ZFS so that won't benefit anybody there

although this would be even more complex and the payoff would be way smaller (how often do you rebase?).

this is our current /usr/lib/os-release file

Details
NAME="Aurora"
VERSION="testing-44.20260716.1 (Kinoite)"
RELEASE_TYPE=stable
ID=aurora
ID_LIKE="fedora"
VERSION_ID=44
VERSION_CODENAME="Stargazer"
PRETTY_NAME="Aurora (Version: testing-44.20260716.1)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:universal-blue:aurora:44"
DEFAULT_HOSTNAME="aurora"
HOME_URL="https://getaurora.dev/"
DOCUMENTATION_URL="https://docs.getaurora.dev"
SUPPORT_URL="https://github.com/ublue-os/aurora/issues/"
BUG_REPORT_URL="https://github.com/ublue-os/aurora/issues/"
SUPPORT_END=2027-05-19
VARIANT="Kinoite"
VARIANT_ID=aurora
OSTREE_VERSION='testing-44.20260716.1'
BUILD_ID="c8e6cf3"
IMAGE_ID="aurora"
IMAGE_VERSION="testing-44.20260716.1"

Thoughts?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions