diff options
author | Ian Moffett <ian@osmora.org> | 2025-07-09 01:27:28 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-07-09 01:27:28 -0400 |
commit | a79ddf4c3986d092ab7e0122a9189dc13eb56287 (patch) | |
tree | baa27c1a9085b80526d16702f64450bb172e478e /usr.sbin | |
parent | f49ab9ebefb9d1e707ee568fe2837f24de046f68 (diff) |
usr.sbin: init: Startup login program
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/init/main.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/usr.sbin/init/main.c b/usr.sbin/init/main.c index bad8201..b5c4fab 100644 --- a/usr.sbin/init/main.c +++ b/usr.sbin/init/main.c @@ -31,25 +31,21 @@ #include <stddef.h> #define SHELL_PATH "/usr/bin/osh" +#define LOGIN_PATH "/usr/bin/login" #define INIT_RC_PATH "/usr/rc/init.rc" int main(int argc, char **argv) { + char *login_argv[] = { LOGIN_PATH, NULL }; char *start_argv[] = { SHELL_PATH, INIT_RC_PATH, NULL }; - char *start_envp[] = { NULL }; + char *envp[] = { NULL }; - spawn(SHELL_PATH, start_argv, start_envp, 0); + /* Start the init.rc */ + spawn(SHELL_PATH, start_argv, envp, 0); start_argv[1] = NULL; - /* - * We can override the start program header - * if there is something specified. - */ - if (argc > 1) { - start_argv[0] = argv[1]; - } - - spawn(start_argv[0], start_argv, start_envp, SPAWN_WAIT); + /* Start the login manager */ + spawn(login_argv[0], login_argv, envp, SPAWN_WAIT); return 0; } |