Romfs

Last updated
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 Kernal since version 2.1.21 [1] and can be implemented on other Unix-like systems with appropriate support. [2]

Contents

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. [3] Its implementation requires minimal code, making it suitable for embedded systems and boot floppies. [4] The primary advantage of ROMFS is the ability to decrease the size of a kernel. (excluding modules) [5]

Technical details

ROMFS stores files sequentially in contiguous blocks. 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.

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. [9] Another tool is genromfs, which is a user program for creating a romfs filesystem. [10]

References

  1. "romfs information".
  2. "ROMFS - ROM File System". Linux Kernel Documentation. Retrieved 14 August 2025.
  3. "Is this exactly what RomFS in the Linux kernel does?". Stack Overflow. Retrieved 14 August 2025.
  4. Yaghmour, Karim (2003). Building Embedded Linux Systems. O'Reilly Media. ISBN   978-0596002220.
  5. "ROMFS - ROM File System".
  6. "ROMFS filesystem layout". LXR Cross Referencer. Retrieved 14 August 2025.
  7. "romfs information".
  8. "ROMFS - ROM File System".
  9. "romfser GitHub repository" . Retrieved 14 August 2025.
  10. "ROMFS - ROM File System".