160 lines
8.0 KiB
Markdown
160 lines
8.0 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to OreBolt OS are documented in this file.
|
|
Format roughly follows Keep-a-Changelog; dates are YYYY-MM-DD.
|
|
|
|
## [v1.4] -- 2026-07-13
|
|
|
|
### Rebrand: "Project Orebolt" -> "OreBolt OS"
|
|
|
|
The project has been rebranded from "Project Orebolt" to **OreBolt OS**.
|
|
All human-facing text (documentation, source comments, init-script
|
|
descriptions, banner messages, PDF reports, license docs) now uses the
|
|
new name. Technical identifiers are intentionally preserved as-is to
|
|
avoid breaking the build pipeline and to maintain filesystem
|
|
compatibility:
|
|
|
|
- `liborebolt.a` -- static archive name (lowercase, code-level)
|
|
- `Makefile.orebolt-v1.4` -- sub-makefile filename (lowercase, path)
|
|
- `modules/orebolt-*/` -- module directory names (lowercase, paths)
|
|
- `OREBOLT_VERSION`, `OREBOLT_TARGET_SOC` -- environment variables
|
|
- `orebolt-broker.pid` -- PID file name
|
|
|
|
This follows standard rebrand practice (cf. Firefox retaining `mozilla`
|
|
identifiers for years after the Firefox rebrand): user-visible names
|
|
change immediately; code-level identifiers migrate only when there is a
|
|
specific reason to do so.
|
|
|
|
The v1.4 release is a build-and-licensing cleanup pass driven by the
|
|
research file `h2-and-related-devices.text`. v1.3 shipped an overlay-only
|
|
drop with an internally inconsistent SHA256SUMS, the wrong target SoC, and
|
|
a headers-sourcing workflow that did not match the actual build path. v1.4
|
|
corrects all three and adds the AGPL-licensed bitchat mesh module.
|
|
|
|
### Fixed
|
|
|
|
- **Target SoC corrected: T31 -> X1000E.** The H2 and its rebadged
|
|
siblings (Surfans F20, Aigo Eros Q, Phinistec Z6, Agptek H3) all use
|
|
the Ingenic X1000E (JZ4760 family), not the T31/X2000. Updated the
|
|
master `Makefile` header comment, `PREREQUISITES.md` §1, and
|
|
`ARCHITECTURE.md` §1. Build flags unchanged (`-march=mips32r2
|
|
-mhard-float` is correct for both SoCs, but the register-level
|
|
headers differ).
|
|
- **Module count reconciled to 16.** v1.3 master Makefile line 55
|
|
advertised "(16 modules)" but SHA256SUMS only listed 13 module `.c`
|
|
files and PREREQUISITES §5.1 listed 16. v1.4 ships all 16: vault,
|
|
nettap, deploy, studio, probe, vterm, radar, ducky, extract, noise,
|
|
reset, emulate, emulator_input_mapper, rfid, wifi, glitch, pwdb
|
|
(restored), plus the new bitchat module (NEW).
|
|
- **macOS and Windows payload folders now exist.** v1.3's
|
|
`Provision.txt` itself flagged that "macos/63-100 and windows/101-150
|
|
sections were not generated in the source installer." v1.4's
|
|
`inject_payloads.sh` regenerates the canonical 50+50+50 layout under
|
|
`overlay/data/payloads/{linux,macos,windows}/`. Existing v1.3 flat
|
|
`.macro` files are migrated to `overlay/data/payloads/legacy/` on
|
|
first run.
|
|
- **SHA256SUMS now matches what ships.** v1.3's SHA256SUMS listed 38
|
|
files; only 3 of them were in the zip. v1.4 SHA256SUMS lists every
|
|
file in the tree and the build verifies them.
|
|
- **Init scripts restored.** `S98emulator-input`, `S99broker`, and
|
|
`bt_input_daemon.sh` are present. v1.3's SHA256SUMS listed
|
|
`bt_input_daemon.sh` but the zip did not ship it; the other two were
|
|
referenced by PREREQUISITES §5.1 but absent from both zip and
|
|
SHA256SUMS.
|
|
- **Headers/source stubs restored.** All files referenced by v1.3
|
|
SHA256SUMS but missing from the zip are present in v1.4:
|
|
`h2_ui.h`, `log_manager.h`, `lv_conf.h.dist`, `main.c`,
|
|
`panic_purge_api.h`, `build.sh`, `inject_payloads.sh`,
|
|
`Makefile.h2-core-v6.0` (renamed to `Makefile.h2-core-v6.1` in v1.4),
|
|
`Makefile.orebolt-v1.3` (renamed to `Makefile.orebolt-v1.4`), and
|
|
all module `.c` files.
|
|
|
|
### Changed
|
|
|
|
- **Headers source: Rockbox -> FiiO M3K GPL kernel tree.** v1.3
|
|
PREREQUISITES §3 asked operators to clone Rockbox as a header
|
|
reference and hand-write register definitions (because Rockbox is
|
|
GPL and OreBolt OS was proprietary). v1.4 vendors the FiiO M3K GPL
|
|
kernel tree (Linux 3.10.14, Ingenic BSP) as the canonical headers
|
|
source -- same X1000E SoC, GPL-clean, ships the exact uapi headers,
|
|
no reverse engineering. See the new `HEADERS.md` for the full
|
|
workflow and the XBurst BSP fallback.
|
|
- **Rockbox demoted to optional bare-metal reference.** v1.3 listed
|
|
Rockbox as the primary header reference; v1.4 explicitly scopes it
|
|
to a future bare-metal "OreBolt OS Native" port and notes that the
|
|
current Linux userspace build path does not use Rockbox at all.
|
|
- **Sub-Makefile names bumped to reflect the SoC correction.**
|
|
`Makefile.h2-core-v6.0` -> `Makefile.h2-core-v6.1`,
|
|
`Makefile.orebolt-v1.3` -> `Makefile.orebolt-v1.4`. Master `Makefile`
|
|
references updated.
|
|
- **HARDWARE_GPIO default flipped to 0.** v1.3 left the default
|
|
unspecified; v1.4 explicitly defaults to 0 (safe stubs) so host
|
|
development builds do not accidentally trigger real GPIO operations.
|
|
Set `HARDWARE_GPIO=1` only on real H2 hardware.
|
|
- **`build.sh` Phase 0 now probes for `KERNEL_HEADERS`.** Exits with a
|
|
clear error if the FiiO M3K tree is not at the expected path.
|
|
- **`build.sh` Phase 7 now verifies the bitchat AGPL marker.** Runs
|
|
`strings overlay/apps/bitchat.mod | grep -q AGPL_BITCHAT` and fails
|
|
the build if the marker is missing (i.e., bitchat was compiled
|
|
without `-DAGPL_BITCHAT`, which would mean it was compiled without
|
|
its AGPL license obligations enforced).
|
|
- **LVGL clone fallback baked into Phase 5.** v1.3 PREREQUISITES §8
|
|
documented an offline LVGL-clone fallback in the troubleshooting
|
|
section; v1.4 `build.sh` Phase 5 implements it inline.
|
|
|
|
### Added
|
|
|
|
- **bitchat mesh module (`modules/orebolt-bitchat/bitchat.c`,
|
|
`src/modules/mod_bitchat_mesh.c`)**. Licensed under AGPL-3.0-only.
|
|
See `LICENSE.md` for the multi-tier licensing strategy and the AGPL
|
|
boundary analysis. The bitchat module is the only OreBolt OS component
|
|
that runs as a networked service; AGPL v3 §13 closes the SaaS loophole
|
|
for mesh operators who fork and run modified bitchat nodes.
|
|
- **`HEADERS.md`** -- dedicated kernel-headers sourcing strategy doc.
|
|
Replaces v1.3 PREREQUISITES §3.
|
|
- **`LICENSE.md`** -- multi-tier licensing strategy. Documents the
|
|
AGPL boundary, operator obligations under AGPL v3 §13(d), and the
|
|
practical compliance checklist for deploying a modified H2 with
|
|
bitchat.
|
|
- **`licenses/` directory** -- AGPL-3.0.txt, GPL-2.0.txt, MIT.txt stub
|
|
files. Replace with full canonical texts before shipping (download
|
|
URLs in each file).
|
|
- **`make headers-check` target** -- verifies the kernel headers tree
|
|
is installed and exposes the expected JZ4760 SoC header path before
|
|
the build starts.
|
|
- **`BITCHAT_MSG_LICENSE` wire message type** -- every bitchat mesh
|
|
HELLO advertises the source-code Written Offer URL to peers, so
|
|
operators downstream of a modified node are automatically informed
|
|
of their AGPL v3 §13 source rights.
|
|
|
|
### Removed
|
|
|
|
- v1.3 PREREQUISITES §3 "Rockbox Headers for Ingenic T31" workflow --
|
|
replaced by `HEADERS.md`. The §3 section in v1.4 PREREQUISITES now
|
|
points operators to `HEADERS.md` instead of reproducing the (wrong)
|
|
Rockbox-mining workflow.
|
|
|
|
### Known limitations
|
|
|
|
- All module `.c` files (except `mod_bitchat_mesh.c`) are currently
|
|
build-linkable stubs with the correct SPDX headers and module
|
|
surface (init/deinit). Real implementation must be restored from
|
|
the upstream source set tracked in SHA256SUMS. Stubs log their
|
|
init/deinit calls so the launcher UI works end-to-end.
|
|
- `licenses/AGPL-3.0.txt` is a stub referencing the canonical URL.
|
|
Run `curl -o licenses/AGPL-3.0.txt https://www.gnu.org/licenses/agpl-3.0.txt`
|
|
before shipping.
|
|
- `BITCHAT_SOURCE_URL` in `mod_bitchat_mesh.c` is a placeholder
|
|
(`https://example.invalid/orebolt-bitchat-src`). Replace with the
|
|
real Written Offer URL before any bitchat deployment that other
|
|
operators will interact with over the mesh.
|
|
|
|
## [v1.3] -- 2026-07-13 (pre-cleanup)
|
|
|
|
Initial public drop. Shipped the overlay tree (payloads, init scripts,
|
|
vault data) but omitted the buildable source set. Targeted the wrong
|
|
SoC (T31 instead of X1000E). Listed Rockbox as the primary header
|
|
reference despite being a bare-metal OS unsuitable for the Linux
|
|
userspace build path. See `CHANGELOG.md` v1.4 entry for the full
|
|
cleanup.
|