No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-28 16:33:45 -04:00
.cargo boot Rust PID 1 2026-07-27 17:31:08 -04:00
.github/workflows boot Rust PID 1 2026-07-27 17:31:08 -04:00
src accept already mounted filesystems (#6) 2026-07-28 16:33:45 -04:00
.gitignore boot Rust PID 1 2026-07-27 17:31:08 -04:00
Cargo.lock supervise HTTP server (#2) 2026-07-27 21:23:45 -04:00
Cargo.toml supervise HTTP server (#2) 2026-07-27 21:23:45 -04:00
LICENSE boot Rust PID 1 2026-07-27 17:31:08 -04:00
README.md mount web volume as second disk (#5) 2026-07-28 16:30:06 -04:00
rust-toolchain.toml boot Rust PID 1 2026-07-27 17:31:08 -04:00

vibe-init

vibe-init is the libc-free Rust PID 1 for vibeOS.

Boot sequence

  1. Mount devtmpfs at /dev.
  2. Mount proc at /proc.
  3. Mount sysfs at /sys.
  4. Mount the ext4 /dev/vdb volume at /var/www.
  5. Start /bin/vibe-sh.
  6. Start /sbin/vibe-httpd.
  7. Reap children and restart either service when it exits.

Mount and spawn failures are reported to the serial console and retried where possible. Service definitions are currently compiled in; there is no service configuration format yet.

Build

Rust 1.94.0 is selected by rust-toolchain.toml.

cargo build --release

The result is target/x86_64-unknown-linux-gnu/release/vibe-init. It is designed to run as PID 1 through the kernel command line:

rdinit=/sbin/vibe-init

The release binary is statically linked and does not use libc.

License

MIT