Add ext2 VFS implementation
diff --git a/src/kernel/vfs_initrd.c b/src/kernel/vfs_initrd.c
index bca0b50..30d690e 100644
--- a/src/kernel/vfs_initrd.c
+++ b/src/kernel/vfs_initrd.c
@@ -31,15 +31,20 @@
 	return true;
 }
 
-struct fs_node *initrd_finddir(struct fs_node *node, char *name)
+struct fs_node *initrd_finddir(struct fs_node *node, char *name,
+							   uint name_len)
 {
 	if (node != &real_initrd)
 		return NULL;
 
 	for (int i = 0; i < num_initrd_files; i++)
 	{
-		if (strcmp(entries[i].name, name) == 0)
+		if (strncmp(entries[i].name, name,
+					MIN(FS_MAX_NAME_LEN, name_len))
+			== 0)
+		{
 			return &initrd_content[i];
+		}
 	}
 	return NULL;
 }
@@ -58,7 +63,7 @@
 		return 0;
 
 	size = MIN(size, node->size - offset);
-	memcpy(buffer, entries[node->dri_res].data, size);
+	memcpy(buffer, entries[node->dri_res_i].data, size);
 
 	return size;
 }
@@ -104,7 +109,7 @@
 		entries[i].size = f->size;
 
 		initrd_content[i] = (struct fs_node){
-			.dri_res = i,
+			.dri_res_i = i,
 			.flags = FS_FILE,
 			.mask = 0b101001001,
 			.uid = 0,