diff options
Diffstat (limited to 'src/init/main.zig')
| -rw-r--r-- | src/init/main.zig | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/init/main.zig b/src/init/main.zig new file mode 100644 index 0000000..0af43bc --- /dev/null +++ b/src/init/main.zig @@ -0,0 +1,21 @@ +const std = @import("std"); +const os = std.os.linux; + +pub fn main() !void { + std.debug.print("\u{1b}[1;1H\u{1b}[J", .{}); + _ = std.os.linux.mount("none", "/dev/", "devtmpfs", 0, 0); + + + const pid = @as(i32, @intCast(os.fork())); + + if (pid == 0) { + _ = os.execve("process", &[_:null]?[*:0]const u8 { "process" }, &[0:null]?[*:0]const u8{}); + + return error.ExecFailed; + } + + var status: u32 = undefined; + _ = os.waitpid(pid, &status, 0); + + while (true) { std.time.sleep(100); } +} |