Architectural Support: x86_64 (#37)
[lunaix-os.git] / lunaix-os / kernel / lunad.c
index 99cd066927dc9e8b9fc6f19d556f9b077204d064..ff52e714c87b0e160b5ca5c7d8bb258388d2075b 100644 (file)
@@ -41,8 +41,10 @@ int
 exec_initd()
 {
     int errno = 0;
+    const char* argv[] = { "/mnt/lunaix-os/usr/bin/init", 0 };
+    const char* envp[] = { 0 };
 
-    if ((errno = exec_kexecve("/mnt/lunaix-os/usr/bin/init", NULL, NULL))) {
+    if ((errno = exec_kexecve(argv[0], argv, envp))) {
         goto fail;
     }
 
@@ -57,7 +59,7 @@ static void
 lunad_do_usr() {
     // No, these are not preemptive
     cpu_disable_interrupt();
-    
+
     if (!mount_bootmedium() || !exec_initd()) {
         fail("failed to initd");
     }
@@ -74,12 +76,6 @@ lunad_do_usr() {
 void _preemptible
 lunad_main()
 {
-    /*
-     * We must defer boot code/data cleaning to here, after we successfully
-     * escape that area
-     */
-    boot_cleanup();
-
     spawn_kthread((ptr_t)init_platform);
 
     /*