[PATCH 0/10] Add support for VUMFAT filesystem

From: Adrian McMenamin

Date: Fri Apr 10 2026 - 10:13:00 EST


The Visual Memory Unit (VMU) for a Sega Dreamcast includes a small slab
of flash memory which is formatted with a file allocation table (FAT)
based file system. This patch adds support for that file system in a
hardware independent way (ie you can build and mount a VMUFAT filesystem
on other systems than a Dreamcast).

The code supports the Dreamcast factory settings and other volume sizes.

It is neither mtd nor Dreamcast/SH dependent.

The patch set includes new documentation, modifications to Kconfig, the filesystem code (in inode.c and super.c and the vmufat.h) and adds a new 'magic number' based on the VMUFAT format.

The code has been tested on a Dreamcast (and built with a 32 bit
compiler) and on x86_64.

Tools to format a filesystem are available here: https://github.com/mcmenaminadrian/mkfs.vmufat

Signed-off-by: Adrian McMenamin <adrianmcmenamin@xxxxxxxxx>

---
Documentation/filesystems/index.rst | 1 +
Documentation/filesystems/vmufat.rst | 127 ++++
fs/Kconfig | 1 +
fs/Makefile | 1 +
fs/vmufat/Kconfig | 14 +
fs/vmufat/Makefile | 7 +
fs/vmufat/inode.c | 1017 ++++++++++++++++++++++++++
fs/vmufat/super.c | 581 +++++++++++++++
fs/vmufat/vmufat.h | 126 ++++
include/uapi/linux/magic.h | 1 +
10 files changed, 1876 insertions(+)
create mode 100644 Documentation/filesystems/vmufat.rst
create mode 100644 fs/vmufat/Kconfig
create mode 100644 fs/vmufat/Makefile
create mode 100644 fs/vmufat/inode.c
create mode 100644 fs/vmufat/super.c
create mode 100644 fs/vmufat/vmufat.h