Jump to content

Romfs

From Wikipedia, the free encyclopedia
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]

Usage

[edit]

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

[edit]

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

[edit]

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

[edit]

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

[edit]
  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".
[edit]