e7bc6a56dcc7222b8349d2fbe0e5d422b4c71920
Semver pre-release suffix (-rb0.2.5) breaks Cargo's [patch.crates-io] matching for transitive deps. Build metadata (+rb0.2.5) is semver- compatible: ^0.9.0 matches 0.9.0+rb0.2.5, patch redirection works, and the Red Bear suffix is still visible in the version string.
Bootloader
Redox OS Bootloader
Requirements
These software needs to be available on the PATH at build time:
Building
make TARGET=<triplet> BUILD=build all
The <triplet> is one of:
| ARCH | Boot Mode | Triplets |
|---|---|---|
i686 |
BIOS | x86-unknown-none |
x86_64 |
BIOS | x86-unknown-none |
x86_64 |
UEFI | x86_64-unknown-uefi |
aarch64 |
UEFI | aarch64-unknown-uefi |
riscv64gc |
UEFI | riscv64gc-unknown-uefi |
See mk directory for more information of how the build is working.
Entry points
Please read Boot Process in the Redox OS Book for an introductory guide.
In this source code, some interesting files for entry points are:
- BIOS boot stages: asm/x86-unknown-none/bootloader.asm
- BIOS boot entry:
fn startat src/os/bios/mod.rs - UEFI boot entry:
fn mainat src/os/uefi/mod.rs - Common boot process:
fn mainat src/main.rs - UEFI kernel entry:
fn kernel_entryin each arch:x86_64: src/os/uefi/arch/x86_64.rsaarch64: src/os/uefi/arch/aarch64.rsriscv64gc: src/os/uefi/arch/riscv64/mod.rs
Debugging
QEMU
make TARGET=<triplet> BUILD=build qemu
How To Contribute
To learn how to contribute to this system component you need to read the following document:
Development
To learn how to do development with this system component inside the Redox build system you need to read the Build System and Coding and Building pages.
Description
RedBear Operating System, based on RedoxOS. Licenced under MIT license.
https://redbearos.org
Languages
Rust
98.8%
Assembly
0.6%
Linker Script
0.5%
Makefile
0.1%