summaryrefslogtreecommitdiff
path: root/src/user/init.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/user/init.cc')
-rw-r--r--src/user/init.cc64
1 files changed, 0 insertions, 64 deletions
diff --git a/src/user/init.cc b/src/user/init.cc
deleted file mode 100644
index 376e697..0000000
--- a/src/user/init.cc
+++ /dev/null
@@ -1,64 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-/*
- * Copyright (C) 2026 Richard QIn
- */
-#include "ulib/stdio.h"
-#include "ulib/stdlib.h"
-#include "ulib/string.h"
-#include "user/user.h"
-#include "drivers/uart_color.h"
-
-int main()
-{
- char *argv[] = {(char *)"sh", 0};
-
- printf(ANSI_BLUE "\n[Init] Starting Lume OS Shell..." ANSI_RESET);
- printf("\n");
-
- while (1)
- {
- // printf("fork start\n");
- int pid = fork();
- // printf("fork suceess, pid=%i\n", pid);
-
- if (pid < 0)
- {
- printf("[Init] fork failed!\n");
- exit(1);
- }
-
- if (pid == 0)
- {
-
- char sh_path[] = "/sh";
- exec(sh_path, argv);
-
- printf("[Init] exec sh failed\n");
- return 0;
- exit(1);
- }
- else
- {
- // break;
- int status;
- int wpid;
- while (1)
- {
- wpid = wait((uint64)&status);
-
- if (wpid == pid)
- {
- printf("Shell Exit");
- break;
- }
- if (wpid < 0)
- {
- printf("[Init] wait error or no child\n");
-
- break;
- }
- }
- }
- }
- return 0;
-} \ No newline at end of file