https://doc.redox-os.org/book/redoxfs.html
1. Introduction
2.
3. Introduction and Getting Started
4. 1. Introducing Redox
5.
1. 1.1. Our Goals
2. 1.2. Our Philosophy
3. 1.3. Why a New OS?
4. 1.4. Redox Use Cases
5. 1.5. Comparing Redox to Other OSes
6. 1.6. Why Rust?
7. 1.7. Side Projects
8. 1.8. Influences
9. 1.9. Hardware Support
10. 1.10. Important Programs
6. 2. Getting started
7.
1. 2.1. Running Redox in a Virtual Machine
2. 2.2. Running Redox on Real Hardware
3. 2.3. Installing Redox on a Drive
4. 2.4. Trying Out Redox
5. 2.5. Building Redox
6. 2.6. Native Build
7. 2.7. From Nothing To Hello World
8. 2.8. Configuration Settings
9. 2.9. Package Management
10. 2.10. Downloading Packages with pkg
11. 2.11. Tasks
12. 2.12. Questions and Feedback
8.
9. Architecture and Design
10. 3. System Design
11.
1. 3.1. Microkernels
2. 3.2. Boot Process
3. 3.3. Redox kernel
4. 3.4. System Services in User Space
5. 3.5. Communication
6. 3.6. Memory Management
7. 3.7. Scheduling
8. 3.8. Drivers
9. 3.9. RedoxFS
10. 3.10. Graphics and Windowing
11. 3.11. Security
12. 3.12. Features
12. 4. Schemes and Resources
13.
1. 4.1. Scheme-rooted Paths
2. 4.2. Resources
3. 4.3. Schemes
4. 4.4. "Everything is a File"
5. 4.5. Stitching It All Together
6. 4.6. Scheme Operation
7. 4.7. Event Scheme
8. 4.8. An Example
14. 5. Programs and Libraries
15.
1. 5.1. Components
2. 5.2. GUI
3. 5.3. Shell
4. 5.4. System Tools
16.
17. Developing with and for Redox
18. 6. The Redox Build Process
19.
1. 6.1. Advanced Podman Build
2. 6.2. Advanced Native Build
3. 6.3. Working with i686
4. 6.4. Working with ARM64
5. 6.5. Raspberry Pi
6. 6.6. Troubleshooting the Build
7. 6.7. Build System
8. 6.8. Build Phases
20. 7. Developing for Redox
21.
1. 7.1. Including Programs in Redox
2. 7.2. Coding and Building
3. 7.3. Porting Applications using Recipes
4. 7.4. Porting Case Study
5. 7.5. Quick Workflow
6. 7.6. Libraries and APIs
7. 7.7. Developer FAQ
8. 7.8. References
9. 7.9. Continuous Integration
10. 7.10. Performance
11. 7.11. System Call Tracing
22.
23. Contributing
24. 8. Contributing
25.
1. 8.1. Chat
26. 9. Best practices and guidelines
27.
1. 9.1. Literate programming
2. 9.2. Writing docs correctly
3. 9.3. Style
4. 9.4. Rusting properly
5. 9.5. Avoiding Panics
6. 9.6. Testing Practices
28. 10. Using Redox GitLab
29.
1. 10.1. Signing in to GitLab
2. 10.2. Repository Structure
3. 10.3. Creating Proper Bug Reports
4. 10.4. Creating Proper Pull Requests
5. 10.5. Filing Issues
* Light (default)
* Rust
* Coal
* Navy
* Ayu
The Redox Operating System
[ ]
RedoxFS
This is the default filesystem of Redox OS, inspired by ZFS and
adapted to a microkernel architecture.
Redox had a read-only ZFS driver but it was abandoned because of the
monolithic nature of ZFS that created problems with the Redox
microkernel design.
(It's a replacement for TFS)
Current features:
* Compatible with Redox and Linux (FUSE)
* Copy-on-write
* Data/metadata checksums
* Transparent encryption
* Standard Unix file attributes
* File/directory size limit up to 193TiB (212TB)
* File/directory quantity limit up to 4 billion per 193TiB (2^32 -
1 = 4294967295)
* Disk encryption fully supported by the Redox bootloader, letting
it load the kernel off an encrypted partition.
* MIT licensed
Being MIT licensed, RedoxFS can be bundled on GPL-licensed operating
systems (Linux, for example).
Tooling
RedoxFS tooling can be used to create, mount and edit contents of an
.img file containing RedoxFS. It can be installed with:
cargo install redoxfs
If you found errors while installing it, make sure to install fuse3.
Create a disk
You can create an empty, non bootable RedoxFS by allocating an empty
file with fallocate then run redoxfs-mkfs to initialize the whole
image as RedoxFS.
fallocate -l 1G redox.img
redoxfs-mkfs redox.img
Mount a disk
To mount the disk, run redoxfs [image] [directory]:
mkdir ./redox-img
redoxfs redox.img ./redox-img
It will mount the disk using FUSE underneath.
Unmount
Unmount the disk using FUSE unmount binary:
fusermount3 ./redox-img