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.
Resources
5.3.
Schemes
5.4.
"Everything is a URL"
5.5.
Stitching it all together
5.6.
Scheme Operation
5.7.
Event Scheme
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
8.7.
Build Phases
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
9.5.
Developer FAQ
9.6.
Quick Workflow
9.7.
Libraries and APIs
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
13.
Communication
13.1.
Chat
Light (default)
Rust
Coal
Navy
Ayu
The Redox Operating System
The Build Process
This chapter will cover the advanced build process of Redox.