Files
bare-operating-system/packages/bare-os-seeder
Raven Scott 346bb71ffe Complete the internal “100 task” roadmap: coreutils and shell parity (xargs,
sh, diff/patch, sort, printf, find, test, getfacl/setfacl/xattr), expanded
/proc and metrics (process table, syscalls, replication, net, security
posture, worker budget, swarm/replication hints), initd DAG supervision
metadata and richer restart journal telemetry, synthetic process groups via
IPC (assignProcessGroup/signalProcessGroup) mirrored into process_table,
optional kernel.ext.d incremental hot reload (BARE_OS_KERNEL_EXT_D_HOT_RELOAD)
with reload audit NDJSON, features proc for hyperblobs dedup and systemd
subset documentation, vault threat model doc plus posture fields for AEAD,
Pear enclave pointer, account rotation continuity, and Ed25519 consistency
across boot manifest / extensions / replication. Adds or extends tests and
keeps kernel/ and packages/bare-os-seeder/kernel/ in parity; guest init is
bundled from kernel/lib/init/init-main.js via bundle-kernel-init.
2026-04-04 21:23:49 -04:00
..
2026-04-03 23:42:47 -04:00
2026-04-04 08:31:39 -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.

Documentation: User manual · Handbook · Seeder reference · Protocol reference.

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

  • 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

  • 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.jspackageRootDir, 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