Redox OS Bootloader
These software needs to be available on the PATH at build time:
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.
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 start
at src/os/bios/mod.rs - UEFI boot entry:
fn main
at src/os/uefi/mod.rs - Common boot process:
fn main
at src/main.rs - UEFI kernel entry:
fn kernel_entry
in each arch:x86_64
: src/os/uefi/arch/x86_64.rsaarch64
: src/os/uefi/arch/aarch64.rsriscv64gc
: src/os/uefi/arch/riscv64/mod.rs
make TARGET=<triplet> BUILD=build qemu
To learn how to contribute to this system component you need to read the following document:
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.