summaryrefslogtreecommitdiff
path: root/rushmore-linux/rlinit
diff options
context:
space:
mode:
Diffstat (limited to 'rushmore-linux/rlinit')
-rw-r--r--rushmore-linux/rlinit/rlinit.c24
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();
+}