zlacker

[parent] [thread] 3 comments
1. lrvick+(OP)[view] [source] 2025-08-22 22:46:51
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.

replies(1): >>nine_k+d1
2. nine_k+d1[view] [source] 2025-08-22 22:54:14
>>lrvick+(OP)
So it's basically like tini (keep a single executable running), but in Rust?
replies(1): >>lrvick+Xb
◧◩
3. lrvick+Xb[view] [source] [discussion] 2025-08-23 00:10:20
>>nine_k+d1
Yep. The less C code in production the better.
replies(1): >>lrvick+fu
◧◩◪
4. lrvick+fu[view] [source] [discussion] 2025-08-23 03:02:11
>>lrvick+Xb
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.
[go to top]