Introduction
Introduction and Getting Started
1.
Introducing Redox
1.1.
Our Goals
1.2.
Our Philosophy
1.3.
Why a New OS?
1.4.
Redox Use Cases
1.5.
Comparing Redox to Other OSes
1.6.
Why Rust?
1.7.
Side Projects
2.
Getting started
2.1.
Running Redox in a virtual machine
2.2.
Running Redox on real hardware
2.3.
Installing Redox on a drive
2.4.
Trying Out Redox
2.5.
Building Redox
2.6.
Podman Build
2.7.
Configuration Settings
2.8.
Downloading packages with pkg
2.9.
Questions and feedback
Architecture and Design
3.
Design Overview
4.
System Design
4.1.
Microkernels
4.2.
Redox kernel
4.3.
Boot Process
4.4.
Memory Management
4.5.
Scheduling
4.6.
System Services in User Space
4.7.
Drivers
4.8.
RedoxFS
4.9.
Graphics and Windowing
4.10.
Security
5.
URLs, schemes and resources
5.1.
URLs
5.2.
How it works under the hood
5.3.
Schemes
5.4.
The root scheme
5.5.
Resources
5.6.
Stitching it all together
5.7.
"Everything is a URL"
5.8.
An example
6.
Programs and Libraries
6.1.
Components
6.2.
GUI
6.3.
Shell
6.4.
System Tools
Developing with and for Redox
7.
Developing Overview
8.
The Redox Build Process
8.1.
Advanced Build
8.2.
Advanced Podman Build
8.3.
Working with i686
8.4.
Working with AArch64/ARM64
8.5.
Troubleshooting the Build
8.6.
Build System Quick Reference
9.
Developing for Redox
9.1.
Including Programs in Redox
9.2.
Coding and Building
9.3.
Porting Applications using Recipes
9.4.
Porting Case Study
10.
Contributing
11.
Best practices and guidelines
11.1.
Literate programming
11.2.
Writing docs correctly
11.3.
Style
11.4.
Rusting properly
11.5.
Avoiding Panics
11.6.
Testing Practices
12.
Using Redox GitLab
12.1.
Signing in to GitLab
12.2.
Repository Structure
12.3.
Creating Proper Bug Reports
12.4.
How to do a pull request properly
12.5.
Filing Issues
12.6.
Branch-based workflow
13.
Communication
13.1.
Chat
Light (default)
Rust
Coal
Navy
Ayu
The Redox Operating System
The system design of Redox
This chapter will discuss the design of the Redox.