Commit Graph

58 Commits

Author SHA1 Message Date
vasilito e854bc98ea Clarify build targets, add GRUB live configs, clean up docs
Consolidate compile target naming (redbear-live, redbear-grub-live-full,
etc.), add config/redbear-grub-live-full.toml, make redbear-live-full-grub
a legacy alias, update build-iso.sh to support all GRUB live targets, and
sync AGENTS.md/README.md build command documentation.
2026-04-25 00:39:15 +01:00
vasilito 03465c051e 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 d24ab92d54 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 015d059cb9 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 c8746290b8 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 2cb285b8be acpi-i2c-hid: implement wave 1 boot-path diagnostics and service wiring 2026-04-22 21:31:19 +01:00
vasilito cdd081c664 Integrate Red Bear boot and packaging updates 2026-04-22 10:22:09 +01:00
vasilito 21d8d4f989 Expose USB tools in base runtime surfaces 2026-04-21 16:15:17 +01:00
vasilito a1d0a35071 Advance KDE, Qt, and Wayland recipe sources 2026-04-20 18:37:35 +01:00
vasilito c944c0aaa8 Update tracked configs and image helpers 2026-04-20 18:37:35 +01:00
vasilito 9f126d91d4 Expand base overlay patches and controller proofs 2026-04-20 18:37:35 +01:00
vasilito e3d776aa9a 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 ef334d31f9 Expose usbctl for mini USB lifecycle checks 2026-04-19 17:57:09 +01:00
vasilito b11a422bfb Update mini USB proof entrypoints 2026-04-19 17:56:59 +01:00
vasilito 1677be954c Expose proof helpers in runtime surfaces 2026-04-18 21:38:30 +01:00
vasilito e9ec6d23c6 Add USB maturity proof scripts 2026-04-18 21:38:30 +01:00
vasilito 9b8523baaf Add low-level controller proof scripts 2026-04-18 21:38:30 +01:00
vasilito 450f9a4ca3 Refresh local build and test scripts, add DRM and Intel GPU test scripts 2026-04-18 17:59:15 +01:00
vasilito b9475fddf2 Use canonical source grub.cfg and document both install paths 2026-04-18 01:09:29 +01:00
vasilito 0063dff222 Optimize fat_tool.py with batch allocation and streaming copy 2026-04-18 01:09:13 +01:00
vasilito 7b6be4b69b Fix fat_tool.py out-of-bounds read in _alloc_cluster when FAT is smaller than data region 2026-04-18 01:02:07 +01:00
vasilito 4183d27593 Remove verbose comments from grub-install wrapper 2026-04-18 00:57:57 +01:00
vasilito 4248ad272d Remove AI slops: fix parenthetical plural, deduplicate install-grub.sh 2026-04-18 00:57:39 +01:00
vasilito 70b935972c Update fat_tool helper script 2026-04-18 00:48:58 +01:00
vasilito 984f9fdb3e Add network check improvements and QEMU test script updates 2026-04-18 00:48:58 +01:00
vasilito edacc89db8 Refresh GRUB scripts, config, and integration documentation 2026-04-18 00:48:58 +01:00
vasilito bf417316bd Fix grub-install BOOT_PATH, validate grub-mkconfig timeout, add fat_tool sync
Fix BOOT_PATH logic in grub-install: non-removable installs now use
EFI/${BOOTLOADER_ID} per UEFI spec instead of always EFI/BOOT.
Add timeout validation to grub-mkconfig (must be non-negative integer).
Add sync() method to fat_tool.py and call os.fsync after cp_in to
ensure data reaches disk. Fix misleading block-device error message.
2026-04-17 23:46:20 +01:00
vasilito 76d3fa012e Add Linux-compatible grub-install and grub-mkconfig wrappers
Create grub-install and grub-mkconfig scripts in local/scripts/ that
match GNU GRUB CLI conventions for users migrating from Linux. Support
standard switches: --target, --efi-directory, --bootloader-id,
--removable, -o/--output, --verbose, --help, --version. Unsupported
Linux options are accepted and ignored for script compatibility.

Also fix ESP FAT type: force FAT32 in both with_whole_disk and
with_whole_disk_ext4 (UEFI spec requires FAT32, fatfs auto-selects
FAT16 for partitions under 32 MiB). Fix --write-bootloader to export
GRUB EFI in GRUB mode. Fix CLI example in GRUB plan. Update AGENTS.md
and GRUB-INTEGRATION-PLAN.md with Linux-compatible CLI docs.
2026-04-17 22:47:01 +01:00
vasilito 6c361066e2 Fix GRUB reassessment findings: clean-build gap, validation, robustness
- Add grub package to redbear-full-grub.toml so make all works from
  a clean tree (the installer needs grub.efi before it runs)
- Fix stat -f%z (macOS-only) to stat -c%s (Linux) in GRUB recipe
- Normalize bootloader config value to lowercase in install_inner so
  bootloader = "GRUB" from config files is accepted
- Add bad-cluster marker (0x0FFFFFF7) check in fat_tool.py
  _next_cluster to prevent potential infinite loops on degraded media
- Fix file handle leak in fat_tool.py if _read_bpb raises
- Clean up temp directory in fetch_bootloaders on error
- Update AGENTS.md with GRUB recipe and installer documentation
- Update GRUB plan with clean-build prerequisite note
2026-04-17 22:21:08 +01:00
vasilito f522c8fcff Fix WIP grub symlink path depth (3 levels, not 4)
The symlink from recipes/wip/services/grub was using ../../../../local/
which goes above the repo root. Fixed to ../../../local/ which correctly
resolves from recipes/wip/services/ to local/recipes/core/grub.
2026-04-17 21:49:39 +01:00
vasilito a03483c956 Fix GRUB bootloader lookup, eliminate duplicate recipe, harden recipe build
install-grub.sh now searches both recipes/core/bootloader/target and
local/recipes/core/bootloader/target for the Redox bootloader artifact.

The WIP grub recipe (recipes/wip/services/grub) is now a full directory
symlink to local/recipes/core/grub instead of just recipe.toml, ensuring
COOKBOOK_RECIPE resolves to a directory that contains grub.cfg. This also
eliminates the duplicate recipe warning from the cookbook.

The GRUB recipe now fails hard (exit 1) if grub.cfg is missing instead of
just warning.
2026-04-17 21:45:38 +01:00
vasilito a100fc32d5 Add GRUB recipe symlinks to apply-patches overlay script
Ensures recipes/core/grub and the WIP conflict redirect are created
by apply-patches.sh, so a fresh sync-upstream + apply-patches cycle
preserves the GRUB integration.
2026-04-17 21:37:23 +01:00
vasilito 5b651c4462 Fix install-grub.sh to source Redox bootloader from cookbook artifacts
The script now reads the Redox bootloader from the cookbook's bootloader
package output instead of extracting it from the ESP. This makes it
idempotent — previously, rerunning after GRUB install would copy GRUB
itself into EFI/REDBEAR/redbear.efi because ESP's BOOTX64.EFI was GRUB.
2026-04-17 21:36:59 +01:00
vasilito 9b6ea8119f Add Python FAT32 tool and GRUB ESP install script
fat_tool.py provides zero-dependency FAT32 manipulation (ls, mkdir,
cp-in, cp-out) using only Python stdlib struct/os. install-grub.sh uses
it to extract the existing Redox bootloader from ESP, install GRUB as
the primary boot manager, and set up the chainload configuration.
2026-04-17 21:04:53 +01:00
vasilito d1b99a2694 Update apply-patches script for new base patches 2026-04-17 13:35:00 +01:00
vasilito c925808697 Improve phase 5 and 6 validation tooling 2026-04-17 13:33:53 +01:00
vasilito e6e1eb8520 Add D-Bus session and system services 2026-04-17 13:33:17 +01:00
vasilito e46dc1813d Expand USB quirks and hardware validation 2026-04-17 13:32:32 +01:00
vasilito e285ccc9e0 Add test infrastructure and validation tooling 2026-04-17 00:05:04 +01:00
vasilito b41d0b01e1 Update base patch and build scripts 2026-04-17 00:04:53 +01:00
vasilito c725436721 Update hardware utilities and USB validation 2026-04-17 00:04:08 +01:00
vasilito d2fa9576e4 Add cross-toolchain wrappers and update scripts
Red Bear OS Team
2026-04-16 12:46:07 +01:00
vasilito 169aa5d8cb Add firmware packaging and validation scripts
Red Bear OS Team
2026-04-16 12:45:24 +01:00
vasilito b0fdd3f818 Add desktop and device test entrypoints 2026-04-15 12:57:45 +01:00
vasilito 32574c98bf Add runtime validation helpers 2026-04-15 12:57:45 +01:00
vasilito 61f124b77f Document overlay-aware script behavior 2026-04-15 12:57:45 +01:00
vasilito 0fe7074232 Wire native network tools into Red Bear profiles 2026-04-14 22:53:24 +01:00
vasilito 66ea2422a0 Add in-guest checks for the VM network baseline 2026-04-14 12:14:50 +01:00
vasilito 27dbb101fa Surface VM network validation after Red Bear builds 2026-04-14 12:13:07 +01:00
vasilito bb57c1031f Add QEMU helper for the VM network path 2026-04-14 12:11:23 +01:00