I'm still confused with how file systems are implemented exactly.
From a Unix / Linux point of view, does each file system need its own driver? Hence special executable code in the kernel used to communicate with it. Or does it just contain data structures?
When we format an SD card for example with a file system, example EXT4 or FAT, my guess is that the kernel is able to figure out which file system is on it and hence already have the capability to communicate with it.
What happens now if we create our own new file system and format the SD card with it, how would the kernel know how to write to it etc. ? Thanks in advance.