feat: mount point flags check
[lunaix-os.git] / lunaix-os / kernel / k_init.c
index ae98ac1ad183888571e0bf4570547a939f322f4f..30e06ca731f1d8ee96d2c413c3a8894a852e0303 100644 (file)
@@ -2,6 +2,7 @@
 #include <lunaix/tty/tty.h>
 
 #include <lunaix/device.h>
+#include <lunaix/foptions.h>
 #include <lunaix/lxconsole.h>
 #include <lunaix/mm/page.h>
 #include <lunaix/mm/pmm.h>
@@ -67,18 +68,21 @@ _kernel_pre_init()
 void
 _kernel_init()
 {
-
+    int errno = 0;
     cake_init();
     valloc_init();
 
-    fsm_init();
     vfs_init();
-    twifs_init();
+    fsm_init();
 
     device_init();
 
-    // 挂载 TwiFS 为根目录
-    vfs_mount("/", "twifs", NULL);
+    if ((errno = vfs_mount_root("ramfs", NULL))) {
+        panickf("Fail to mount root. (errno=%d)", errno);
+    }
+
+    // FIXME replace with more specific fs for device.
+    vfs_mount("/dev", "twifs", NULL, MNT_RO);
 
     lxconsole_init();