summaryrefslogtreecommitdiff
path: root/src/cmd/init
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/init')
-rw-r--r--src/cmd/init/Makefile4
-rw-r--r--src/cmd/init/init.c28
2 files changed, 29 insertions, 3 deletions
diff --git a/src/cmd/init/Makefile b/src/cmd/init/Makefile
index b58b223..73fefe5 100644
--- a/src/cmd/init/Makefile
+++ b/src/cmd/init/Makefile
@@ -2,9 +2,7 @@ include ../../data/build/user.mk
CFILES = $(shell find . -name "*.c")
CFILES = $(shell find . -name "*.c")
-CFLAGS = -L$(LIBC_DIR) -lc $(INTERNAL_CFLAGS) \
- -L../../lib/libwidget -lwidget -L../../lib/libc/ -lc \
- -I../../lib/libwidget/include/
+CFLAGS = -L$(LIBC_DIR) -lc $(INTERNAL_CFLAGS) -L../../lib/libc/ -lc
OBJECTS = $(CFILES:%.c=%.o)
$(SYSROOT)/usr/bin/init: $(OBJECTS)
diff --git a/src/cmd/init/init.c b/src/cmd/init/init.c
index 3f39743..7851c9c 100644
--- a/src/cmd/init/init.c
+++ b/src/cmd/init/init.c
@@ -28,13 +28,41 @@
*/
#include <sys/spawn.h>
+#include <sys/mount.h>
#include <stddef.h>
+#include <stdio.h>
void
main(void)
{
char login_path[] = "/usr/sbin/login";
char *argv_dmmy[] = { "/usr/sbin/login", NULL };
+ int error;
+
+ /* Mount tmpfs */
+ error = mount(
+ NULL,
+ "/tmp",
+ MOUNT_TMPFS,
+ 0,
+ NULL
+ );
+
+ if (error < 0) {
+ printf("init: failed to mount tmpfs\n");
+ }
+
+ error = mount(
+ NULL,
+ "/dev",
+ MOUNT_DEVFS,
+ 0,
+ NULL
+ );
+
+ if (error < 0) {
+ printf("init: failed to mount devfs\n");
+ }
spawn(login_path, argv_dmmy);
for (;;);