feat: rename(2), mount(2) and unmount(2)
[lunaix-os.git] / lunaix-os / kernel / k_init.c
index 7acd3065b15c73f86b57e81a70dcce86d9b1805f..ae98ac1ad183888571e0bf4570547a939f322f4f 100644 (file)
@@ -1,19 +1,15 @@
 #include <lunaix/common.h>
 #include <lunaix/tty/tty.h>
 
-#include <lunaix/clock.h>
+#include <lunaix/device.h>
 #include <lunaix/lxconsole.h>
-#include <lunaix/mm/kalloc.h>
 #include <lunaix/mm/page.h>
 #include <lunaix/mm/pmm.h>
 #include <lunaix/mm/vmm.h>
 #include <lunaix/process.h>
 #include <lunaix/sched.h>
 #include <lunaix/spike.h>
-#include <lunaix/syslog.h>
-#include <lunaix/timer.h>
-
-#include <hal/rtc.h>
+#include <lunaix/types.h>
 
 #include <arch/x86/boot/multiboot.h>
 #include <arch/x86/idt.h>
@@ -22,9 +18,6 @@
 #include <klibc/stdio.h>
 #include <klibc/string.h>
 
-#include <stddef.h>
-#include <stdint.h>
-
 extern uint8_t __kernel_start;
 extern uint8_t __kernel_end;
 extern uint8_t __init_hhk_end;
@@ -38,8 +31,6 @@ x86_page_table* __kernel_ptd;
 
 struct proc_info tmp;
 
-LOG_MODULE("BOOT");
-
 extern void
 __proc0(); /* proc0.c */
 
@@ -57,7 +48,6 @@ _kernel_pre_init()
 
     pmm_init(MEM_1MB + (_k_init_mb_info->mem_upper << 10));
     vmm_init();
-    rtc_init();
 
     unsigned int map_size =
       _k_init_mb_info->mmap_length / sizeof(multiboot_memory_map_t);
@@ -77,11 +67,20 @@ _kernel_pre_init()
 void
 _kernel_init()
 {
-    lxconsole_init();
 
-    kprintf(KINFO "[MM] Allocated %d pages for stack start at %p\n",
-            KSTACK_SIZE >> PG_SIZE_BITS,
-            KSTACK_START);
+    cake_init();
+    valloc_init();
+
+    fsm_init();
+    vfs_init();
+    twifs_init();
+
+    device_init();
+
+    // 挂载 TwiFS 为根目录
+    vfs_mount("/", "twifs", NULL);
+
+    lxconsole_init();
 
     sched_init();