diff options
Diffstat (limited to 'rushmore-linux/rlinit/rlinit.c')
| -rw-r--r-- | rushmore-linux/rlinit/rlinit.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/rushmore-linux/rlinit/rlinit.c b/rushmore-linux/rlinit/rlinit.c new file mode 100644 index 0000000..21cf2af --- /dev/null +++ b/rushmore-linux/rlinit/rlinit.c @@ -0,0 +1,24 @@ +#include <unistd.h> +#include <sys/mount.h> +#include <sys/wait.h> + +int main(void) +{ + mount("proc", "/proc", "proc", 0, 0); + mount("sysfs", "/sys", "sysfs", 0, 0); + mount("devtmpfs", "/dev", "devtmpfs", 0, 0); + + write(1, "rlinit: starting rlwsd\n", 23); + + pid_t pid = fork(); + if (pid == 0) { + char *argv[] = { (char*)"/rlwsd", 0 }; + execv(argv[0], argv); + _exit(127); + } + + int st = 0; + waitpid(pid, &st, 0); + write(1, "rlinit: rlwsd exited\n", 21); + for (;;) pause(); +} |