Free runtime tmpfs before daemon-reload to unblock bookworm upgrades#11
Merged
Merged
Conversation
Bookworm Pi-OS feeders default the runtime tmpfs to 43M and graphs1090's collectd in-memory RRD cache can occupy 34M of it. Systemd refuses daemon-reload below its 16M safety buffer, which under set -e aborts the entire upgrade before the feed bridge runs. Stop collectd to free its cache; the script reboots at its tail so collectd auto-starts on next boot. No-op when collectd is absent.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On bookworm-based feeder images (the 2025 Pi-OS family), the runtime tmpfs defaults to about 43M and graphs1090's collectd holds about 34M of that for its in-memory RRD cache. systemd v249+ refuses daemon-reload when free space drops below a 16M safety buffer, which combined with this script's set -e aborts the entire upgrade at line 199 — before the feed bridge ever runs, so no apl-feed, no feed.env, no service enables. Reproduced live: 'Reload daemon failed: Refusing to reload, not enough space available, 2.3M free vs 16M safety buffer.'\n\nStop collectd before daemon-reload to free the cache. The script reboots at its tail so collectd auto-starts on next boot — no explicit restart needed. No-op when collectd is absent (manual / non-graphs1090 installs). Bullseye unaffected (its runtime tmpfs is about 86M and stays well above the safety buffer).\n\nPinned in the rootfs smoke test with an explicit order assertion so the pre-flight cannot silently regress.