volume-manager: recognize exFAT and route it by content (S4 step 6)

partition.zig gains an exFAT VBR recognizer: the "EXFAT   " name (where a
FAT BPB keeps its OEM string, so the two never collide) plus the 0x55AA
signature, with VolumeSerialNumber (offset 100) as a new exfat_serial
identity rung. A `recognize` helper tries exFAT, then FAT, then the MBR
disk-signature fallback, and sets each volume's FilesystemKind — so
allVolumes/firstVolume and the GPT path all tag a volume with the engine
its content needs. volume-map renders exfat-<serial> as the id-path, and
filesystems.csv adds the exfat -> /system/services/exfat row: an exFAT
stick now spawns the exFAT service, at its own content id-path.

Host tests: a bare exFAT volume recognized with its serial; a FAT VBR
still recognized as fat (the discrimination); the exfat-<serial> id
render. build + zig build test + bounds green.
This commit is contained in:
Daniel Samson
2026-08-10 03:28:08 +01:00
parent 2a6d604577
commit 2c2745e9e5
3 changed files with 70 additions and 8 deletions
+1
View File
@@ -5,3 +5,4 @@
#
# signature, binary
fat, /system/services/fat
exfat, /system/services/exfat
1 # The filesystem map: a probed volume's content signature -> the service binary
5 #
6 # signature, binary
7 fat, /system/services/fat
8 exfat, /system/services/exfat