diff options
author | Ian Moffett <ian@osmora.org> | 2025-06-24 02:43:13 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-06-24 02:43:13 -0400 |
commit | 8ce4282e92455e9da19c9fc1f7d6bc313567717f (patch) | |
tree | 29bcf2d4d66010201a1dc795cf4eaeea9e92180f | |
parent | 5d96b8559c0f506fe730afdd21c716787b4a1d1e (diff) |
usr: Add init.rc for userspace startup flexibility
Signed-off-by: Ian Moffett <ian@osmora.org>
-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]; |