System installer: multi-distro vds_hcd setup#11
Merged
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…sed rollback Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ystem Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ck for module version Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… ships no akmod package Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Kbuild builds with -I$(src)/include; the uapi/vds headers live in the sibling vds/include tree, which upstream's make-install copies into the DKMS source dir. Staging (and the NixOS/AppImage bundles) now do the same. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… root runner Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…signature-enforcing Fedora-lineage kernels reject unenrolled-key modules under Secure Boot even with lockdown 'none'. Use /var/lib/dkms/mok.key (commonly already enrolled) instead of generating a custom key, remove the framework override the previous installer version wrote, and exit 6 with reboot guidance when enrollment is freshly imported. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…nit exists Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This was referenced Jul 11, 2026
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.
Implements docs/superpowers/specs/2026-07-11-system-installer-design.md.
What
installer/opends5-install: interactive installer that detects distro/kernel flavor/immutability/Secure Boot state, prints a plan, and executes it with per-step pkexec/sudo escalation.opends5-vds.nix, no imperative changes), clean refusal otherwise./var/lib/opends5/; MOK enrollment only when the kernel actually enforces signatures (lockdown or MODULE_SIG_FORCE) — not merely when SB is on.OpenDS5.AppImage --install-systemruns the bundled installer (module source bundled via extraResources; app version passed as module version);install-system.shnow delegates its kernel-module section to the installer.docs/INSTALLER.md+ README section.Tests
installer/tests/run-tests.sh: 57 fixture-based tests (detection, per-distro dry-run plans, Secure Boot logic, execution/rollback via stubbed root helper, NixOS generation) — all green, no root needed.Dry-run on the dev box (Fedora + CachyOS COPR kernel, SB on, lockdown none)
Hardware validation still needed
Run
bash installer/opends5-installfor real on the dev box before merge (should be an idempotent reinstall).🤖 Generated with Claude Code