← Back to context

Comment by ferguess_k

4 hours ago

I want to do something similar.

Specifically, the project is to create VFS similar to the one in Linux 1.00 in xv6-riscv. I completed the MIT xv6 labs and read the VFS code in Linux 1.00 a while ago, and I don't think it is a particularly difficult task -- but xv6-fs touches a lot of places, so I'd imagine some re-architecture is needed.

The scope of the project is NOT to create more FS for xv6, but to add one abstraction layer on top of the FS, i.e. the VFS. The kernel is supposed to know which FS is picked manually (in this case it is the original xv6 FS) by the programmer in the makefile, and it should load the correct superblock and go from there.

The whole work, once kicked into gear -- that is, once one has gotten familiar with the xv6 kernel and written some code for the labs, should take more or less 2 weeks for an ordinary people who has no experience with system programming to complete. The good part is that there is no need to write tests for this project -- you just keep running xv6 and see if it passes all of the existing tests -- once that's passed the VFS should work fine.