Conversation
|
Tightened the detector in 3276e5a to use three explicit states: matched, changed, and unknown. When no recognized package-owned kernel files are found, it now reports “Unable to determine kernel reboot status” on stderr rather than silently treating that case as a match. The diagnostic is independent of the remaining reboot checks, so explicit reboot markers, Hyprland detection, and service/shell restarts continue normally. Updated the backport checksums and documentation. All seven regression tests pass, including assertions that the diagnostic appears only for unknown layouts and that other reboot reasons remain active. Guest contract checks and git diff --check also pass. Previously documented full-suite and Docker limitations still apply. |
Summary
Fix the recurring “Linux kernel has been updated. Reboot?” prompt after a no-op
omarchy updatein the ARM guest.The upstream detector assumes
/usr/lib/modules/<release>/vmlinuzexists and defaults to an updated kernel if it cannot find a matching image. Arch Linux ARM supplies matching modules without that image at that path, so the prompt repeats even with the direct-boot kernel pinned and already running.modules.builtinmetadata alongside the existingvmlinuzlayout.Validation
python3 guest/tests/test_update_restart_arm_kernel.py— seven regression tests covering ARM matches and changes, vmlinuz compatibility, multiple kernels, unowned/stale markers, unknown layouts, and other reboot/restart reasons.python3 guest/tests/verify.py— guest contract and backport digest checks.346e69e1cec6c4e8924531874af6ba010a1bc99e; tests apply the actual patch and verify its output digest before executing the complete command with isolated filesystem/process boundaries.git diff --check.make testwas attempted on Linux ARM64: 114 guest tests ran, with three failures and three errors in the existing boot-export and native-authentication tests. All six reproduce on unchanged base commit58cbac5(boot-export source-size errors and authentication temporary-directory permissions under/run). The run stops before the macOS suite.Delivery
This is a factory backport. Existing persistent guests retain their packaged runtime until a separate migration or reset, as documented by the repository; replacing the app alone does not install this fix into an existing guest.