Article · Wikipedia archive · Last revised Jun 19, 2026

Romfs

ROMFS is a minimal, read-only computing file system designed for storing files in read-only memory, particularly in Electrically Erasable Programmable Read-Only Memory (EEPROM) or similar ROM media. Due to its small size and straightforward design, it's commonly used in devices where system resources are limited. It's a part of the Linux Kernel since version 2.1.21 and can be implemented on other Unix-like systems with appropriate support.

Last revised
Jun 19, 2026
Read time
≈ 2 min
Length
450 w
Citations
14
Source
romfs
Other
Supported
operating systems
Unix-like systems

ROMFS (Read-Only Memory File System) is a minimal, read-only computing file system designed for storing files in read-only memory, particularly in Electrically Erasable Programmable Read-Only Memory (EEPROM) or similar ROM media. Due to its small size and straightforward design, it's commonly used in devices where system resources are limited. It's a part of the Linux Kernel since version 2.1.211: 78  and can be implemented on other Unix-like systems with appropriate support.2

Usage

ROMFS is often used as an initial ROM or initial RAM disk containing kernel modules or essential system files that can be loaded during the boot process. Its implementation requires minimal code, making it suitable for embedded systems and boot floppies.3 The primary advantage of ROMFS is the ability to decrease the size of a kernel (excluding modules).43

Technical details

ROMFS stores files sequentially in contiguous blocks.5: 35  The description of the filesystem layout is documented in the Linux kernel source tree and can be accessed through the LXR romfs.rst.6 ROMFS does not store modification dates or UNIX-like permissions.7

Limitations

ROMFS works on data aligned to 16 byte boundaries, yet most hardware works on data aligned to 1024 byte boundaries.8 As a result, the file system must be padded. ROMFS only works on block devices only and cannot interface with Memory Technology Device for addressing physical ROMs (i.e. EEPROMs, flash memory) directly. The user must supply a device driver that presents the ROM as a block device.9

Platform Support and Tools

Apart from support in the Linux Kernel Nikolay Aleksandrov developed romfser (ROMFS Extractor/Reader), an open-source tool to extract and manipulate ROMFS images, which primarily intended for the BSD family of operating systems, which do not include native ROMFS support.10 Another tool is genromfs, which is a user program for creating a romfs filesystem.11

References

References

  1. Rubini, Alessandro (May 1997). "The 'Virtual File System' in Linux". Linux Journal. No. 33. Specialized System Consultants. pp. 52–78 – via Google Books.
  2. "ROMFS - ROM File System". Linux Kernel Documentation. Retrieved 14 August 2025.
  3. Collings, Terry; Kurt Wall (2007). Red Hat Linux Networking and System Administration. Wiley. p. 150. ISBN 9780471777311 – via Google Books.
  4. Sally, Gene (2010). Pro Linux Embedded Systems (ebook ed.). Apress. ISBN 1430272260 – via Google Books.
  5. McCullough, David (July 2004). "uClinux for Linux Programmers". Linux Journal. No. 123. Specialized System Consultants. pp. 34–38 – via Google Books.
  6. "ROMFS filesystem layout". LXR Cross Referencer. Retrieved 14 August 2025.
  7. "romfs information".
  8. "ROMFS - ROM File System".
  9. Yaghmour, Karim (2003). Building Embedded Linux Systems. O'Reilly. p. 229. ISBN 9780596516468 – via Google Books.
  10. "romfser GitHub repository". Retrieved 14 August 2025.
  11. "ROMFS - ROM File System".
External links