Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/redox-os/redox/llms.txt

Use this file to discover all available pages before exploring further.

Overview

RedoxFS is the default filesystem for Redox OS, designed specifically for the operating system’s microkernel architecture. It’s written in Rust and provides reliable, copy-on-write storage with modern filesystem features.

RedoxFS Repository

View the RedoxFS source code on GitLab

Key Features

Copy-on-Write

Efficient copy-on-write operations for data integrity

Rust Implementation

Memory-safe implementation preventing corruption

Snapshots

Support for filesystem snapshots

POSIX Compatible

Compatible with POSIX filesystem semantics

Architecture

RedoxFS is designed to work seamlessly with Redox’s scheme-based I/O system:
  • Scheme integration: Accessed through the file:// scheme
  • Userspace daemon: Runs as a userspace process for better isolation
  • Block device support: Works with various storage backends
  • Journaling: Ensures data consistency across crashes

File Scheme Access

In Redox OS, filesystem access is handled through the scheme system:
// Files are accessed through the file scheme
let file = File::open("file:///home/user/document.txt")?;

// Or using standard POSIX paths (automatically resolved)
let file = File::open("/home/user/document.txt")?;

Filesystem Structure

RedoxFS follows a standard Unix-like directory hierarchy:
/
├── bin -> usr/bin      # User binaries (symlink)
├── dev/                # Device files
├── etc/                # Configuration files
├── home/               # User home directories
├── lib -> usr/lib      # Libraries (symlink)
├── tmp/                # Temporary files
├── usr/                # User programs and data
   ├── bin/           # User binaries
   ├── lib/           # Libraries
   └── share/         # Shared data
└── var/                # Variable data
    ├── cache/
    ├── log/
    └── tmp/

Configuration

RedoxFS is included in the base system configuration:
[packages]
redoxfs = {}

File Scheme Access Control

The filesystem integrates with Redox’s security model through scheme permissions:
[user_schemes.user]
schemes = [
  "file",  # Access to filesystem
  # ... other schemes
]
Root access is required for system-level filesystem operations. Regular users have restricted access based on file permissions.

Device Files

RedoxFS works with device files that are mapped to kernel and userspace schemes:
# Device file symlinks to schemes
/dev/null -> /scheme/null
/dev/random -> /scheme/rand
/dev/urandom -> /scheme/rand
/dev/zero -> /scheme/zero

Performance

RedoxFS is optimized for:
  • Fast metadata operations: Efficient directory traversal
  • Low latency: Minimal overhead for small operations
  • Scalability: Handles large filesystems efficiently
  • Concurrent access: Safe multi-threaded access

Resources

RedoxFS Repository

Source code and development

Redox Book

Filesystem documentation

Build System

How RedoxFS is built

Hardware Support

Storage device compatibility

Maintainer

Jeremy Soller (@jackpot51)

Primary maintainer of RedoxFS