diff options
Diffstat (limited to 'src/cmd/init')
-rw-r--r-- | src/cmd/init/Makefile | 4 | ||||
-rw-r--r-- | src/cmd/init/init.c | 28 |
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 (;;); |