Files
bare-operating-system/packages/bare-os-seeder
2026-04-03 18:46:37 -04:00
..
2026-04-03 18:46:37 -04:00
2026-04-03 17:36:57 -04:00
2026-04-02 22:43:46 -04:00
2026-04-03 02:49:18 -04:00
2026-04-03 17:36:57 -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)

Pear vs Node

  • import.meta.url is file: — seeder may dynamically import bare-os-coreutils/build.mjs and rebuild /bin before staging.
  • pear: bundle — coreutils must be pre-built into kernel/bin/; run npm run build -w bare-os-coreutils before pear run.

Layout

Path Role
index.js Entry: Corestore, Hyperdrive, stageKernelTree, swarm, setupSeedChannel
lib/paths.js packageRootDir, kernel root, Corestore path (Pear RTIaware)
kernel/ Vendored mirror of repo kernel/ for Pear staging

Dependencies

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

See also