Filesystem ============ Sector = 512 Bytes Block = 4096 Bytes Reserved sectors ---------------- * Sector 0..7 - Bootblock, constains bootloader code that gets ran by the BIOS (4KiB) * Sector 8..F - Superblock, contains metadata about the filesystem itself (4KiB) Superblock structure (4096B) -------------------- * Device ID * Max File Size * INode Count * INode Bitmap Block * INodes Start * INode Block Count * INodes per sector * Data Bitmap Block * Data Start * Data Block Count * Root INode Pointer * First Unreserved INode INode structure (64B) --------------- * Type * Size (bytes) * Sector Count (size in sectors) * Mode * Extent[4] * Single Indirect * Double Indirect? Extent (8B) ------ * Block * Length Directory Entry (64B) --------------- * INode Number * Name (max length 60 Bytes) Filetypes --------- * File * Directory # TODO * Link * Device * Stream? These structs are defined in the libk header 'fs/fs.h'