Files
bare-operating-system/packages/bare-os-seeder
Raven Scott fccd07b726 feat(kernel): Wave 9 mega-phase — bits9, protocol 0.5, boot policy v9, Pear/Bare bridge
- Add ninth capability word (bits9), STOCK_V9, FEATURE9_*; bump feature bits doc to 11
- Extend seed RPCs, channel wiring, replication/staging adjuncts; bare_os_proc_index schema 5
- Wave 9 /proc JSON via bare-os-wave9-proc.js + VFS aliases; ctx API 1.18.0 + d.ts hooks
- Boot policy v9 + kernel/init.js enforcement; extensions registry schema 6; strict bits9 caps
- NDJSON lifecycle 8, OTel 6, audit 6; SOCKS proxy map, worker/WASM/env passthrough
- Coreutils openssl stub (bare-crypto doc); mediaproc:* worker group; http-fetch SOCKS lookup
- CI: verify-kernel-roadmap-wave9.mjs, wave3/ctx/dts/compat updates; pretest chain
- Docs: roadmap Wave 9 table, ADR §12, kernel-extensions/capabilities/matrix/protocol/handbook/
  developer-guide (node-to-bare-modules, privacy), kernel README, scripts README, changelogs
- Sync packages/bare-os-seeder/kernel (init.js, README); refresh booter /proc readdir test list
2026-04-04 05:54:08 -04:00
..
2026-04-03 23:42:47 -04:00

bare-os-seeder

Pear / Bare application that owns the canonical system Hyperdrive: it walks a kernel tree on disk, writes /boot/init.js, /bin/*, /etc/* into the drive (no host temp dirs), builds a 512-byte MBR with the drive key, joins Hyperswarm on bare-os-v1, and serves MBR block reads + Protomux bare-os-v1 replication to peers.

Run

From package directory (after npm ci at repo root):

node index.js

Or with Bare/Pear:

npm run pear:dev

From repo root (recommended — fixes workspace node_modules for Pear):

npm run os:seeder

Environment

Variable Meaning
BARE_OS_KERNEL_ROOT Absolute path to kernel tree to stage (default: package kernel/ vendored copy, or repo kernel/ under Node file: URL)
BARE_OS_HOST_DATA Base directory for host state (default ~/.bare-os)
BARE_OS_SEED_STORE Corestore directory (default ~/.bare-os/corestore/seeder)
BARE_OS_SEED_CAPABILITY_ATTESTATION_JSON Optional JSON string for seed RPC bare_os.capability_attestation (operators verify on host; guest does not crypto-verify)

Pear vs Node

  • import.meta.url is file: — seeder may dynamically import bare-os-coreutils/build.mjs and bare-os-bare-libs/build.mjs, rebuilding /bin and kernel/lib/bare before staging.
  • pear: bundle — coreutils and /lib/bare bundles must be pre-built into kernel/; run npm run build -w bare-os-coreutils and npm run build -w bare-os-bare-libs before pear run (root npm run os:seeder does both).

Layout

Path Role
index.js Entry: Corestore, Hyperdrive, stageKernelTree, swarm, setupSeedChannel (RPCs include optional bare_os.snapshot_hints and bare_os.peer_firewall_stats when implemented)
lib/paths.js packageRootDir, kernel root, Corestore path (Pear RTIaware)
kernel/ Vendored mirror of repo kernel/ for Pear staging — must match kernel/ byte-for-byte (npm test pretest runs scripts/verify-kernel-seeder-parity.mjs)

Dependencies

bare-os-protocol (workspace), hyperdrive, corestore, hyperswarm, protomux, b4a, compact-encoding, safety-catch, bare-os.

See also