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]- ^ "romfs information".
- ^ "ROMFS - ROM File System". Linux Kernel Documentation. Retrieved 14 August 2025.
- ^ "Is this exactly what RomFS in the Linux kernel does?". Stack Overflow. Retrieved 14 August 2025.
- ^ Yaghmour, Karim (2003). Building Embedded Linux Systems. O'Reilly Media. ISBN 978-0596002220.
- ^ "ROMFS - ROM File System".
- ^ "ROMFS filesystem layout". LXR Cross Referencer. Retrieved 14 August 2025.
- ^ "romfs information".
- ^ "ROMFS - ROM File System".
- ^ "romfser GitHub repository". Retrieved 14 August 2025.
- ^ "ROMFS - ROM File System".