Add a basic read-only implementation for the Ext2 filesystem #29

Merged
apio merged 14 commits from ext2 into main 2023-07-01 15:38:00 +00:00
Owner

Here we go!

Here we go!
apio added 2 commits 2023-06-20 19:40:40 +00:00
apio force-pushed ext2 from e5259d5849 to 73fbc37841 2023-06-20 19:40:59 +00:00 Compare
apio added the
enhancement
label 2023-06-20 19:41:42 +00:00
apio self-assigned this 2023-06-20 19:41:55 +00:00
apio added 1 commit 2023-06-20 19:44:35 +00:00
mount: Put the source argument first
All checks were successful
continuous-integration/drone/pr Build is passing
1461fffba8
apio added 1 commit 2023-06-21 19:32:56 +00:00
kernel/Ext2: Read the root inode metadata from the disk
All checks were successful
continuous-integration/drone/pr Build is passing
62ac42ffc3
apio added 1 commit 2023-06-22 14:34:44 +00:00
kernel/ext2: Implement Inode::read()
All checks were successful
continuous-integration/drone/pr Build is passing
765df906fb
apio added 2 commits 2023-06-22 17:41:43 +00:00
mkbootimg's filenames have some kind of bug...
kernel/ext2: Implement directory traversal
All checks were successful
continuous-integration/drone/pr Build is passing
6ca131f8b9
apio added 1 commit 2023-06-22 17:57:25 +00:00
kernel: Make pivot_root() reset the parent entry of the new root directory
All checks were successful
continuous-integration/drone/pr Build is passing
d1ddf314d6
Otherwise it would just be pointing to the old parent fs, and we don't want that.
apio added 1 commit 2023-06-22 18:10:19 +00:00
kernel/ext2: Add support for symbolic links
All checks were successful
continuous-integration/drone/pr Build is passing
3e5599e75c
apio force-pushed ext2 from 3e5599e75c to 00d625a697 2023-06-24 11:57:20 +00:00 Compare
apio added 3 commits 2023-06-24 20:31:00 +00:00
This is done by scanning the singly indirect pointer of the inode.
kernel: Preserve the new page directory while exec() is running
All checks were successful
continuous-integration/drone/pr Build is passing
868213bb85
Author
Owner

Almost ready for normal usage, now I just have to find out why mmap() on an ext2-loaded program crashes the entire system with a triple fault.

Almost ready for normal usage, now I just have to find out why mmap() on an ext2-loaded program crashes the entire system with a triple fault.
apio added 1 commit 2023-06-25 18:11:28 +00:00
kernel: Separate a thread's page directory into two
All checks were successful
continuous-integration/drone/pr Build is passing
8fc58c70f7
The self directory, and the active directory. The active directory is the one the thread is currently using,
and the self directory is the one the thread owns.

This lets us keep track of both, which fixes ext2 executables crashing the system.
apio force-pushed ext2 from 8fc58c70f7 to e9e7b22323 2023-06-25 18:35:48 +00:00 Compare
apio added 1 commit 2023-06-25 18:54:52 +00:00
initrd: Rename test-ext2fs to mount-ext2fs
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
21d093b1fa
Author
Owner

We'll work out the issues booting from Ext2 later, right now it works as a mountable (but not primary) file system, and can go into main.

We'll work out the issues booting from Ext2 later, right now it works as a mountable (but not primary) file system, and can go into main.
apio changed title from WIP: Add a basic read-only implementation for the Ext2 filesystem to Add a basic read-only implementation for the Ext2 filesystem 2023-07-01 15:37:51 +00:00
apio merged commit 21d093b1fa into main 2023-07-01 15:38:00 +00:00
apio deleted branch ext2 2023-07-01 15:38:00 +00:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: apio/Luna#29
No description provided.