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?
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.
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):
Downsides:
We could do this per-variant at first, so aurora:stable to aurora-dx:stable is reproducible, additionally we could strip fields:
:stableis unique and has ZFS so that won't benefit anybody therealthough 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-releasefileDetails
Thoughts?