Skip to content

Open Cube OS 2.1.0

Choose a tag to compare

@cubestudio-dev cubestudio-dev released this 25 Oct 20:28

Open Cube OS 2.1.0 - the 17-issue fix release on top of the 2.0.0 ring-3 re-architecture. Every finding from the 2.0.0 postcheck is fixed; the itemized table with evidence pointers lives in KNOWN_ISSUES.md.

The numbers (self-consistent, machine-verified)

  • Command homes: 251 = 99 in the L0 recovery shell (oc>) + 133 ring-3 SYS_L1SVC service commands + 19 ush built-ins. The ush SVC_CMDS table itself carries 142 rows; the 9 dual-homed names (rtc/hpet/pmtimer/tsc/shutdown/poweroff/reboot/halt/sleep) are registered on both sides, attributed to L0 by the first-home rule and callable from both shells.
  • v1.0.0 baseline: 233 commands - all mapped (INTERFACES.md Part 1c, 233 rows, zero missing; the 2.0.0 table missed health export / health watch).
  • L1SVC surface: 17 categories / 158 numbered ops; kernel-side declarations across the service headers: 144; syscalls: 54.
  • v1 interface surface, per-entry (new in Part 2c): all 278 callable declarations of the v1 surface headers compared against this tree - 267 public, 6 internalized (register-class hooks moved into services/*/drv_internal.h), 5 gone. Part 2d is the declared deletion register: driver_block_init, driver_nic_init, driver_nic_probe_all, driver_snd_init, driver_snd_probe_all - init/probe plumbing, each rebuilt inside the collected-declaration service model (*_svc_init / *_svc_probe_all).
  • Source: 130,526 lines / 379 files (regenerated from docs/data/stats.json at release time).

CI green again - and now a hard release gate

2.0.0 shipped source that compiled on the release host but not on CI. 2.1.0 fixes all four runner-environment traps and turns the gate hard: the tag points at a CI-green commit (kernel -Wall -Wextra -Werror 0E0W, hybrid BIOS+UEFI ISO, deterministic src zip, OTA package, host tests, reproducibility gate - all green on ubuntu-26.04 / gcc-15-gnu23 / grub 2.12).

  1. tui/tui_core.c port I/O constraints (ports >= 0x100 must go through %dx) - the P0 that broke all 15 v2.0.0 CI runs.
  2. GRUB >= 2.12 dropped efi_uga.mod - the ISO module lists are now filtered against the installed GRUB (essential modules still hard-fail).
  3. C23 made bool a keyword (gcc >= 15 defaults to gnu23) - core/types.h keeps the compiler's bool under C23, the classic u8 under gnu11.
  4. The documented CONFIG_TUI=n CONFIG_CHINESE=n off-path image failed to LINK - the display dispatch now guards the 8 locale ops (op numbers stable, clean -1 when off).

Test matrix (real runs, skip counts declared)

Gate Result
host unit tests (make test) 17 passed, 2 skipped (openssl fixtures absent - declared)
wp12 watchdog/logging/health E2E 14/14 (Intel TCO real reset + ACPI WDAT)
wp10_tui command-surface E2E (BIOS) 37/37
chinese console E2E (BIOS) 21/21
tuiqa desktop apps 32/32 BIOS + 32/32 UEFI
native desktop E2E 36 PASS / 0 FAIL BIOS + 36 PASS / 0 FAIL UEFI (the 10-minute host runner cap cut after the final checks - declared)
L1 per-app record (new gate) 35/35 - every embedded l1apps/ program executed via run from oc>, one fresh boot per row
boot gates BIOS PASS + UEFI PASS (banner + ring-3 ush> + uname + oc> fallback + poweroff)
reproducible build PASS - ELF byte-identical across two clean builds

Evidence: evidence/2_1_0_release/ in the repo (the five suite logs the 2.0.0 evidence README referenced now exist, plus the rest of the matrix and the raw per-app capture).

Honest deviations (declared, not hidden)

  • The wp10_tui battery leaves the kernel in a #DF HALT after its last check (kernel stack exhausted in the ush task). The same tail occurs on the 2.0.0 ISO (verified live) - a pre-existing 2.0.0-era defect, declared in KNOWN_ISSUES.md, fix deferred to the next batch.
  • A rare wait4-vs-fork timing flake was observed in same-boot test marathons (a wait4-sensitive program once read an uninitialized status word). Not reproducible in isolated runs; declared in KNOWN_ISSUES.md.
  • One postcheck sub-item (the "ost-tests" link) turned out to be a false positive at byte level - recorded honestly in KNOWN_ISSUES.md rather than "fixed".

Assets (build 309)

File SHA256 Size
opencube-2.1.0.iso 808b5423127fa6ee802f84d9edd2db2639052a57946ff554512787638cdcb9de 12,392,448 B
opencube-2.1.0-src.zip 8dba53d3fe6bd3d3c0615aa025a406616b4a72d23877e9eb3429eb6c4588aa14 4,709,022 B
opencube-2.1.0-update.tar.gz 21b52c98d9224574674f4fbea31fbe71b411e2e5618281cf545376abe4bc480b 1,081,570 B

The website download page, this Release and the repo tree hold byte-identical copies. Boot it: qemu-system-x86_64 -m 512 -cdrom opencube-2.1.0.iso (BIOS and UEFI alike).