fix(iso): raise /tmp tmpfs cap above systemd's 50%-of-RAM default

PyInstaller-based daemons (e.g. the Reticulum mesh daemon) self-extract
to /tmp on every launch and leak their extraction dir on abnormal exit;
combined with release-build staging dirs this exhausted the default cap
on .116 and silently broke Reticulum ("no space left on device" during
self-extraction, masquerading as a connect failure). Ship a tmp.mount.d
override (75% of RAM) in the installer image so fresh installs don't
inherit the same ceiling.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
archipelago 2026-07-01 04:53:52 -04:00
parent 306b6356ee
commit de8b2bb812

View File

@ -3127,6 +3127,16 @@ Wants=tmp.mount
ExecStartPre=/bin/mkdir -p /tmp
CONSOLEFIX
# Raise /tmp tmpfs cap above systemd's 50%-of-RAM default — PyInstaller-based
# daemons (e.g. the Reticulum mesh daemon) self-extract to /tmp on every launch
# and leak their extraction dir on abnormal exit; combined with release-build
# staging dirs this can exhaust the default cap and starve app installs/mesh.
mkdir -p /mnt/target/etc/systemd/system/tmp.mount.d
cat > /mnt/target/etc/systemd/system/tmp.mount.d/override.conf <<'TMPSIZE'
[Mount]
Options=mode=1777,strictatime,nosuid,nodev,size=75%,nr_inodes=1m
TMPSIZE
# Auto-login on tty1 — no password prompt on console
mkdir -p /mnt/target/etc/systemd/system/getty@tty1.service.d
cat > /mnt/target/etc/systemd/system/getty@tty1.service.d/autologin.conf <<'AUTOLOGIN'