Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a22be4473b364afc

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 Kernel since version 2.1.21[1]:78 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. 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).[4][3]

Technical details

[edit]

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

[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. 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

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

References

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