fix: comprehensive boot hardening — crashes, warnings, sensors, bare-metal PS/2
- firmware-loader: handle missing INIT_NOTIFY gracefully (Option<RawFd>) - driver-params: suppress ENODEV (19) on missing driver-manager scheme - compositor: add wl_seat.name + pointer capabilities for Qt6 compat - greeter: use redox QPA (libqredox.so) instead of broken Qt6 Wayland - greeter: reduce DRM wait 10s→2s, kded6 offscreen QPA to avoid crash - thermald: add CPU die temperature via MSR IA32_THERM_STATUS (Linux coretemp) - pcid: diagnostic MCFG warning with Q35 guidance, address validation - dhcpd: auto-interface detection (P0-dhcpd-auto-iface.patch wired) - procmgr: SIGCHLD EPERM→debug (kernel limitation, not a bug) - ps2d LED: warn→debug on modern hw without real PS/2 controller - ps2d mouse: 10×1s→3×250ms retry, fast-fail on unknown response - i2c RON: handle empty response from i2cd when no adapters present - base recipe: wire 6 new/improved patches - config: remove INIT_SKIP, enable all 14 previously-suppressed daemons
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
diff --git a/bootstrap/src/procmgr.rs b/bootstrap/src/procmgr.rs
|
||||
index ce37d57..b1268e0 100644
|
||||
--- a/bootstrap/src/procmgr.rs
|
||||
+++ b/bootstrap/src/procmgr.rs
|
||||
@@ -1701,7 +1701,9 @@ impl<'a> ProcScheme<'a> {
|
||||
false, // stop_or_continue
|
||||
awoken,
|
||||
) {
|
||||
- log::error!("failed to send SIGCHLD to parent PID {ppid:?}: {err}");
|
||||
+ // EPERM on SIGCHLD to PID 1 is a known kernel limitation.
|
||||
+ // The procmgr continues correctly after this; downgrade to debug.
|
||||
+ log::debug!("failed to send SIGCHLD to parent PID {ppid:?}: {err}");
|
||||
}
|
||||
|
||||
if let Some(init_rc) = self.processes.get(&INIT_PID) {
|
||||
Reference in New Issue
Block a user