Add FAT12/16/32 scheme daemon, management tools, and build integration

5-crate Rust workspace implementing full VFAT support: fatd scheme daemon
(FSScheme with open/read/write/mkdir/unlink/rename/fstat), fat-mkfs (create
FAT12/16/32 with labels and cluster size), fat-label (read/write BPB + root-dir
volume labels), fat-check (verify + repair dirty flags, FSInfo, lost clusters,
orphaned LFN). 60 unit tests, 0 unwrap in production code. Included in all 5
redbear configs via redbear-device-services.toml.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-04-18 00:13:34 +01:00
parent f6ee40326b
commit 9d1954e0c4
19 changed files with 3703 additions and 1 deletions
+17 -1
View File
@@ -1,9 +1,10 @@
# Red Bear OS shared device-service wiring
#
# Shared by profiles that ship the firmware/input/Wi-Fi control compatibility stack.
# Shared by profiles that ship the firmware/input/Wi-Fi/FAT control compatibility stack.
[packages]
redbear-quirks = {}
fatd = {}
[[files]]
path = "/lib/firmware"
@@ -67,3 +68,18 @@ requires_weak = [
cmd = "evdevd"
type = "oneshot_async"
"""
[[files]]
path = "/usr/lib/init.d/15_fatd.service"
data = """
[unit]
description = "FAT filesystem scheme daemon"
requires_weak = [
"00_pcid-spawner.service",
]
[service]
cmd = "fatd"
args = ["disk/live-virtio", "fat-live"]
type = { scheme = "fat-live" }
"""