The volume manager reads its policy from configuration at boot (loadTables,
mirroring the device-manager registry load): filesystems.csv (content signature
-> service binary) and volumes.csv (optional id -> mount-prefix override), each
held in a static source buffer with declared bounds. On probe it picks the
binary from the volume's signature (unserved + logged if no row matches, like an
unbound device) and composes the mount path — a volumes.csv override, else the
default /volumes/<id> from volume-map.idString — then spawns that binary with
argv {volume-id, mount-prefix}. Behavior-preserving: fat still ignores argv[2..]
and uses its hardcoded mounts, the binary resolves to /system/services/fat, so
the FULL suite stays green (127/127); the flip to argv-driven mounts and the
/volumes/usb -> id-path migration land in step 5.
473 B
473 B
| 1 | # The mount map (danos's fstab): a volume's content id -> a chosen mount prefix. |
|---|---|
| 2 | # This is an OPTIONAL override, read by the volume manager. A volume with no row |
| 3 | # mounts at its default /volumes/<id>, where <id> is the manager's rendered |
| 4 | # content identity (e.g. fat-12345678, gpt-<guid>, mbr-<sig>-<index>) — stable, |
| 5 | # unique, and never a port or a label. The label is display metadata, not here: |
| 6 | # query it via the volume manager's `volumes` verb. |
| 7 | # |
| 8 | # id, mount_prefix |