Skip to content

Implement M6D read-only FAT32 filesystem - #5

Open
chavalasantosh wants to merge 2 commits into
mainfrom
m6d-fat32
Open

Implement M6D read-only FAT32 filesystem#5
chavalasantosh wants to merge 2 commits into
mainfrom
m6d-fat32

Conversation

@chavalasantosh

Copy link
Copy Markdown
Owner

Summary

Implements Soma OS M6D: validated read-only FAT32 persistent filesystem support integrated through the existing block cache and VFS.

Changes

  • Adds a read-only FAT32 filesystem implementation.
  • Validates the BIOS Parameter Block and FAT32 volume geometry.
  • Supports directory traversal and persistent file reads.
  • Supports multi-cluster files and offset reads across cluster boundaries.
  • Adds long filename handling.
  • Detects malformed metadata, invalid clusters, and cluster-chain loops.
  • Mounts the FAT32 filesystem through the VFS.
  • Preserves the bounded read-only cache policy.
  • Keeps persistent storage writes disabled.
  • Adds a deterministic FAT32 test-image generator.
  • Adds shell and smoke-test coverage for persistent files.
  • Updates capability metadata, architecture documentation, threat model, backlog, and validation evidence.
  • Preserves all M5, FH1–FH3, and M6A–M6C regression gates.

Validation

  • Kernel tests: 69 passed
  • Kernel Clippy with warnings denied: passed
  • UEFI Clippy with warnings denied: passed
  • UEFI release build: passed
  • Capability registry check: passed
  • Source manifest check: passed
  • M6D source checks: passed
  • Patch replay against current main: passed
  • QEMU smoke test: pending GitHub CI

Safety

The FAT32 implementation is intentionally read-only. Filesystem mutation and persistent disk writes remain disabled until a later milestone introduces transactional write safety and recovery.

@chavalasantosh
chavalasantosh force-pushed the m6d-fat32 branch 2 times, most recently from 9cf94a8 to 1269467 Compare July 30, 2026 13:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant