diff options
-rwxr-xr-x | hyra-build.sh | 3 | ||||
-rw-r--r-- | rc/init.rc | 1 | ||||
-rw-r--r-- | sys/kern/init_main.c | 4 |
3 files changed, 7 insertions, 1 deletions
diff --git a/hyra-build.sh b/hyra-build.sh index caa6e45..28ceb10 100755 --- a/hyra-build.sh +++ b/hyra-build.sh @@ -44,6 +44,9 @@ sysroot_skel() { mkdir -p base/usr/bin/ mkdir -p base/boot/ mkdir -p base/usr/include/sys/ + mkdir -p base/usr/rc + + cp -r rc/* base/usr/rc cp -f sys/include/sys/*.h base/usr/include/sys # Populate ESP diff --git a/rc/init.rc b/rc/init.rc new file mode 100644 index 0000000..88b5a2d --- /dev/null +++ b/rc/init.rc @@ -0,0 +1 @@ +osh diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index cd05af7..43142ec 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -46,8 +46,10 @@ #if defined(_INSTALL_MEDIA) #define _START_PATH "/usr/sbin/install" +#define _START_ARG NULL #else #define _START_PATH "/usr/bin/osh" +#define _START_ARG "/usr/rc/init.rc" #endif /* _INSTALL_MEDIA */ struct proc g_proc0; @@ -64,7 +66,7 @@ start_init(void) { struct proc *td = this_td(); struct execve_args execve_args; - char *argv[] = { _START_PATH, NULL }; + char *argv[] = { _START_PATH, _START_ARG, NULL }; char *envp[] = { NULL }; execve_args.pathname = argv[0]; |