mirror of
https://github.com/usatiuk/ficus.git
synced 2025-10-28 16:17:51 +01:00
VFS: memfs in home dir for now
This commit is contained in:
@@ -54,7 +54,6 @@ void ktask_main() {
|
||||
|
||||
(new Task(Task::TaskMode::TASKMODE_KERN, templates_tester, "templates_tester"))->start();
|
||||
(new Task(Task::TaskMode::TASKMODE_KERN, templates_tester, "templates_tester2"))->start();
|
||||
// (new Task(Task::TaskMode::TASKMODE_KERN, vfs_tester, "vfs_tester"))->start();
|
||||
|
||||
VFSGlobals::root = SharedPtr<RootNode>(new RootNode());
|
||||
|
||||
@@ -84,6 +83,16 @@ void ktask_main() {
|
||||
|
||||
VFSApi::close(fd);
|
||||
|
||||
FDT::FD fdh = VFSApi::open(StrToPath("/home"));
|
||||
File *fh = VFSApi::get(fdh);
|
||||
|
||||
assert2(fh != nullptr,"Home dir not found!");
|
||||
assert2(fh->dir().get() != nullptr,"Home dir not dir!");
|
||||
|
||||
VFSGlobals::mounts.add_mount(new MemFs())->set_root(static_ptr_cast<NodeDir>(fh->node()));
|
||||
VFSApi::close(fdh);
|
||||
(new Task(Task::TaskMode::TASKMODE_KERN, vfs_tester, "vfs_tester"))->start();
|
||||
|
||||
init->start();
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ add_custom_target(iso_limine)
|
||||
add_custom_target(iso
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/isodir/
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/initramfs/
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/initramfs/home
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/limine.cfg ${CMAKE_CURRENT_BINARY_DIR}/isodir/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:kernel.elf> ${CMAKE_CURRENT_BINARY_DIR}/isodir/ficus.elf
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:init> ${CMAKE_CURRENT_BINARY_DIR}/initramfs/init
|
||||
|
||||
@@ -8,15 +8,15 @@
|
||||
#include "VFSApi.hpp"
|
||||
|
||||
void VFSTester::test() {
|
||||
VFSApi::mkdir(StrToPath("/hello"));
|
||||
VFSApi::mkdir(StrToPath("/hello/hellod2"));
|
||||
VFSApi::touch(StrToPath("/hellof"));
|
||||
VFSApi::touch(StrToPath("/hello/f2"));
|
||||
VFSApi::mkdir(StrToPath("/home/hello"));
|
||||
VFSApi::mkdir(StrToPath("/home/hello/hellod2"));
|
||||
VFSApi::touch(StrToPath("/home/hellof"));
|
||||
VFSApi::touch(StrToPath("/home/hello/f2"));
|
||||
|
||||
FDT::FD a = VFSApi::open(StrToPath("/hello"));
|
||||
FDT::FD b = VFSApi::open(StrToPath("/hello/hellod2"));
|
||||
FDT::FD c = VFSApi::open(StrToPath("/hellof"));
|
||||
FDT::FD d = VFSApi::open(StrToPath("/hello/f2"));
|
||||
FDT::FD a = VFSApi::open(StrToPath("/home/hello"));
|
||||
FDT::FD b = VFSApi::open(StrToPath("/home/hello/hellod2"));
|
||||
FDT::FD c = VFSApi::open(StrToPath("/home/hellof"));
|
||||
FDT::FD d = VFSApi::open(StrToPath("/home/hello/f2"));
|
||||
{
|
||||
String t("hello wooooorld");
|
||||
File *cf = VFSApi::get(c);
|
||||
@@ -31,7 +31,7 @@ void VFSTester::test() {
|
||||
VFSApi::close(c);
|
||||
VFSApi::close(d);
|
||||
|
||||
c = VFSApi::open(StrToPath("/hellof"));
|
||||
c = VFSApi::open(StrToPath("/home/hellof"));
|
||||
assert(c != -1);
|
||||
{
|
||||
String t("aaaaaaaaaaaaaaaaaaaa");
|
||||
|
||||
Reference in New Issue
Block a user