Comment by lrvick

Comment by lrvick 19 hours ago

3 replies

Yeah we only recently broke it out as a standalone repo/binary, as everyone historically vendored it, so docs will get love soon, but it will be part of the next stagex release built and signed by multiple parties deterministically as stagex/user-nit.

To run it all your need to know is put it in your filesystem as "/init" and then add this to your kernel command line for the binary you want nit to pivot to after bringing the system up:

nit.target=/path/to/binary

That's it. Minimum viable init for single application appliance/embedded linux use cases.

nit and your target binary are the only things you actually need to have in your CPIO root filesystem. Can be empty otherwise.

nine_k 19 hours ago

So it's basically like tini (keep a single executable running), but in Rust?

  • lrvick 18 hours ago

    Yep. The less C code in production the better.

    • lrvick 15 hours ago

      Of note, it also will handle platform specific bring-up system calls, basic filesystem setup, etc, so it is much more suitable for embedded, server, or enclave use cases than tini, imo. It is mostly used for Nitro enclaves today.