Commit Graph

239 Commits

Author SHA1 Message Date
vasilito 41abe8a18c Harden all PCI/IRQ driver paths: remove panic-grade calls across pcid, virtio-core, and 10 consumer drivers (IRQ Waves 1-4 complete) 2026-04-24 14:45:29 +01:00
vasilito f84d50659b Fix daemon EPIPE and audiod ENODEV for clean boot on all hardware
Suppress EPIPE in SchemeDaemon::ready_with_fd() to eliminate broken pipe
errors from gpiod, i2cd, ucsid at boot. Handle ENODEV gracefully in audiod
when /scheme/audiohw is absent. Both fixes verified: QEMU boots to login
prompt with zero non-fatal errors, patch applies cleanly on clean rebuild.
2026-04-24 10:05:18 +01:00
vasilito 6d48f80bea Fix IOAPIC/HPET/NMI, PS/2 driver, and remove duplicate VT service entries
- IOAPIC: enable full IOAPIC initialization on AMD/Intel bare metal,
  dual GSI 0/2 timer mapping for platform compatibility, NMI handler
  uses raw COM1 PIO writes to avoid mutex deadlock
- HPET: counter validation, graceful fallback to PIT when HPET missing
- PS/2: fix 0xFE RESEND handling in all MouseState variants, add
  controller flush/self-test retry/aux port test from Linux 7.0
- ACPI: defer AML evaluation to avoid blocking initfs driver spawn
- VT chain: remove duplicate rootfs service files (inputd, vesad,
  fbcond, getty) that were already handled by initfs phase 1 and the
  legacy 30_console script from minimal.toml
- QEMU verified: boots to login prompt, 20 rootfs units (was 26),
  single login prompt (was double), only 1 expected error (wifictl)
2026-04-24 00:57:19 +01:00
vasilito d3d8ca0239 Fix KDE KIO and KXMLGui source compatibility for Redox
workerinterface.cpp: add missing include for poll-compatible wait.
kswitchlanguagedialog_p.cpp: guard locale-gen call behind
Redox build define to avoid missing binary at runtime.
2026-04-23 20:29:41 +01:00
vasilito 3878b9a45b Fix KDE KF6 CMakeLists builds for Redox target
Ten KF6 recipe CMakeLists patches: disable missing dependencies
(qt6-qttools linguist, qt6-qtshadertools), skip unavailable tests,
and add find-module fallbacks for Redox-specific library paths.
2026-04-23 20:29:32 +01:00
vasilito 6bf2dec0c9 Fix cookbook fetch, recipe parsing, and sync-upstream hardening
fetch.rs: use full commit hash for deterministic checkout. recipe.rs:
refactor recipe handling for cleaner patch application. sync-upstream:
add dry-run mode and improve rebase error recovery.
2026-04-23 20:29:21 +01:00
vasilito 1cc3b104de Add relibc eventfd MOD patch for init waitpid compatibility
Eventfd now sets correct file mode bits so init's waitpid loop
can poll on eventfd descriptors without spurious EPERM.
2026-04-23 20:29:11 +01:00
vasilito 0bbd9adfb3 Add boot process assessment doc and service file validation script
Comprehensive assessment of init boot phases, service schema
validation, and 14-package audit table covering all hardened
boot-critical packages.
2026-04-23 20:27:13 +01:00
vasilito 821f08306d Add P2 daemon hardening patches and wire into base recipe
215 fixes across 33 Rust source files replacing unwrap/expect/panic
with graceful error handling in init, all boot-critical daemons,
and the six graphics driver packages. Fixes inverted scheduler
conditions_met() logic that prevented rootfs from mounting.
2026-04-23 20:27:03 +01:00
vasilito dc3f1f996f Add all I2C/GPIO/UCSI driver sources to P2 patches
Recreate 11 driver crates lost during upstream source refresh:
- i2c-interface: shared I2C types (adapter info, transfer request/response)
- i2cd: /scheme/i2c adapter registry scheme daemon
- intel-lpss-i2cd: Intel LPSS/SerialIO I2C controller (ACPI-enumerated)
- dw-acpi-i2cd: DesignWare ACPI I2C controller
- amd-mp2-i2cd: AMD MP2 I2C controller (PCI-enumerated)
- i2c-hidd: I2C HID client daemon (PNP0C50/ACPI0C50 scanning, _DSM, HID protocol)
- intel-thc-hidd: Intel THC QuickI2C transport daemon
- gpiod: /scheme/gpio controller registry scheme daemon
- intel-gpiod: Intel ACPI GPIO registrar
- i2c-gpio-expanderd: I2C GPIO expander companion bridge
- ucsid: UCSI scheme daemon (/scheme/ucsi/summary, connectors, health)

P2-acpi-i2c-resources.patch: 6726 lines (was 1265)
P2-boot-runtime-fixes.patch: 319 lines (unchanged)
Both patches verified to apply cleanly on top of redox.patch
2026-04-22 23:55:16 +01:00
vasilito 89247e0d77 Regenerate P2 patches against current upstream (463f76b9 + redox.patch)
Both P2 patches were stale — generated against an older upstream HEAD whose
context lines shifted after redox.patch modified the same files. Regenerated
from scratch against the current upstream commit so they apply cleanly.

P2-boot-runtime-fixes: hwd I2C candidate logging, pcid-spawner initfs detach,
pcid sendfd PCI fd handoff (319 lines)
P2-acpi-i2c-resources: new acpi-resource shared decoder crate (688 lines),
acpid /scheme/acpi/resources/ endpoint, resources.rs re-export shim,
sleep.rs restore (1265 lines)
2026-04-22 23:09:41 +01:00
vasilito 3054adc5d5 Add ACPI I2C resources scheme endpoint and shared acpi-resource crate
- Add /scheme/acpi/resources/<device> endpoint to acpid for _CRS evaluation
- Extract acpi-resource shared crate (917 lines) with ResourceDescriptor types
- Eliminate duplicate type definitions in 5 consumers (i2c-hidd, dw-acpi-i2cd,
  intel-thc-hidd, i2c-gpio-expanderd, ucsid)
- Add P2-acpi-i2c-resources.patch (48KB) with all source changes
- Update ACPI-I2C-HID-IMPLEMENTATION-PLAN.md to reflect actual codebase state
2026-04-22 22:44:30 +01:00
vasilito d2ac27eeb2 Add verify-overlay-integrity.sh and remove stale rbos-info symlink
Create overlay integrity verification script that checks all recipe symlinks, patch symlinks, circular references, critical local/patches/ files, and config/redbear-*.toml files. Supports --repair (calls apply-patches.sh) and --quiet (CI). Fix config name: redbear-minimal.toml not redbear-mini.toml. Remove stale dangling symlink recipes/system/rbos-info (correct name is redbear-info).
2026-04-22 22:00:52 +01:00
vasilito 9820a860ac Harden apply-patches.sh and sync-upstream.sh against local/ data loss
apply-patches.sh: add --dry-run flag, make patch conflicts fail loudly instead of silently skipping, back up WIP directories instead of rm -rf, refuse to overwrite existing config files. sync-upstream.sh: add --force flag, abort on uncommitted local/ changes unless forced, stash with -u for untracked file protection, add pre-rebase overlay integrity check, improve nuclear option and stash pop guidance.
2026-04-22 22:00:17 +01:00
vasilito 78e5d99fb8 acpi-i2c-hid: implement wave 1 boot-path diagnostics and service wiring 2026-04-22 21:31:19 +01:00
vasilito 0323d7b8a7 Update USB boot docs and relibc patch overlays 2026-04-22 14:30:28 +01:00
vasilito fdc670d852 Add ACPI I2C-HID quirk carriers 2026-04-22 12:41:39 +01:00
vasilito b5ae8b2760 Integrate Red Bear boot and packaging updates 2026-04-22 10:22:09 +01:00
vasilito 7f2979f25e Refresh KDE source compatibility patches
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-21 16:15:17 +01:00
vasilito 360a62f22d Adjust KDE recipe patches for Qt private APIs
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-21 16:15:17 +01:00
vasilito ad9254e489 Consolidate relibc overlay patch chain
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-21 16:15:17 +01:00
vasilito 19d39068cf Expose USB tools in base runtime surfaces
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-21 16:15:17 +01:00
vasilito b083e7cd3f Activate the greeter VT after startup
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-21 16:15:17 +01:00
vasilito 6e2ff36e60 Route fallback consoles through activate_console
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-21 16:15:17 +01:00
vasilito ed738b28d3 Require a local RedoxFS module for GRUB builds
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-21 16:15:16 +01:00
vasilito 95405baf2e Document local-first package sourcing policy
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-21 16:15:16 +01:00
vasilito 4275949ede Advance KDE, Qt, and Wayland recipe sources 2026-04-20 18:37:35 +01:00
vasilito f3e6b09811 Advance Red Bear runtime services and tools 2026-04-20 18:37:35 +01:00
vasilito 2b3b592dab Update tracked configs and image helpers 2026-04-20 18:37:35 +01:00
vasilito 1dbb191a74 Expand base overlay patches and controller proofs 2026-04-20 18:37:35 +01:00
vasilito 3c88e91789 Refine relibc overlay patches and test wiring 2026-04-20 18:37:35 +01:00
vasilito 6343f173c9 Update local subsystem planning docs 2026-04-20 18:37:35 +01:00
vasilito 9880e0a5b2 Advance redbear-full Wayland, greeter, and Qt integration
Consolidate the active desktop path around redbear-full while landing the greeter/session stack and the runtime fixes needed to keep Wayland and KWin bring-up moving forward.
2026-04-19 17:59:58 +01:00
vasilito 370d27f44d Update local docs for four compile targets 2026-04-19 17:57:29 +01:00
vasilito b0a11efb25 Expose usbctl for mini USB lifecycle checks 2026-04-19 17:57:09 +01:00
vasilito d59c33711c Update mini USB proof entrypoints 2026-04-19 17:56:59 +01:00
vasilito ec07831732 Align relibc IPC overlay docs 2026-04-19 09:26:57 +01:00
vasilito cd4961f4b6 Simplify relibc test recipe replay 2026-04-19 09:26:57 +01:00
vasilito 2fd08dcf43 Fix cookbook redoxer stage root selection 2026-04-19 09:26:57 +01:00
vasilito 02607243e6 Preserve base overlay carrier updates 2026-04-18 21:38:31 +01:00
vasilito 47ed12f483 Fix AMDGPU recipe glue assumptions 2026-04-18 21:38:31 +01:00
vasilito 4cc847fa32 Document Linux borrowing guidance 2026-04-18 21:38:31 +01:00
vasilito 16abfdec56 Refine subsystem planning docs 2026-04-18 21:38:31 +01:00
vasilito 5d6fae06cc Update USB validation docs 2026-04-18 21:38:31 +01:00
vasilito 2485afa798 Update ACPI and low-level controller docs 2026-04-18 21:38:31 +01:00
vasilito 082643e763 Expose proof helpers in runtime surfaces 2026-04-18 21:38:30 +01:00
vasilito 387df2a179 Add USB maturity proof scripts 2026-04-18 21:38:30 +01:00
vasilito a152f3e646 Add low-level controller proof scripts 2026-04-18 21:38:30 +01:00
vasilito a01d9f1782 Add PS/2 and timer proof binaries 2026-04-18 21:38:30 +01:00
vasilito ec45c703de Improve IOMMU self-test diagnostics 2026-04-18 21:38:30 +01:00