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