Files
bare-operating-system/packages/bare-os-seeder
Raven Scott f79db04313 POSIX / synthetic syscalls
- Bump /proc/bare_os/syscalls.json to schema 7; socketMsgSurface (sendmsg/recvmsg ENOTSUP)
- POSIX profile 1.0.8; align syscalls.example.json, declared profile, compatibility matrix
- Bridged SOCK_DGRAM recv/recvfrom with bounded queue + poll/select readiness env knobs
- process_table.json schema 7; fdModel.processTableSchema and matrix/dashboard sync
- posix-conformance-matrix bareOsSyscallOps includes recvfrom

P2P / protocol / replication
- Optional Protomux bare-os-app-v1 (BARE_OS_PROTOMUX_APP_CHANNEL)
- Replication: guestReplicationPlan (BARE_OS_REPLICATION_PLAN_JSON), sync_window parallelismHint
- Blind-relay swarm protomuxBackpressure (BARE_OS_SWARM_PROTOMUX_BACKPRESSURE_COUNT)
- Remove bareOsProcBlindPeerRelayHintsStub; strict peer allowlist (BARE_OS_PEER_ALLOWLIST_STRICT)
- Kernel multisig gate before kernel.ext.d; Pear updater integrationHints + audit env docs

Tooling / tests / hygiene
- Default holepunch clone drift in pretest; document BARE_OS_HOLEPUNCH_DRIFT_CHECK=0
- Widen bare holepunch catalog overrides; Mermaid architecture in docs hub + README link
- Fix tests: corestore_snapshot proc schema 2, posixXsh schema 2, awk-engine export strip in xcu sweep
- pear-updater-bridge: shared integration hints; identity-session import order
- Handbook ch.3/7/9 + environment appendix updates; scripts README drift script behavior
2026-04-05 00:45:17 -04:00
..
2026-04-05 00:45:17 -04:00
2026-04-05 00:45:17 -04:00
2026-04-05 00:45:17 -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