PixieOS is a minimal operating system kernel written in Rust. This project aims to create a basic OS from scratch, demonstrating low-level programming concepts and Rust's capabilities in systems programming.
- Bare-metal Rust implementation
- Custom target specification for x86_64 architecture
- VGA text mode output
- Panic handler implementation
To build and run PixieOS, you need:
- Rust nightly toolchain
cargo-bootimage
for creating bootable disk images- QEMU for running the OS (optional, but recommended for testing)
-
Install the Rust nightly toolchain:
rustup override set nightly
-
Install
cargo-bootimage
:cargo install bootimage
-
Install QEMU (if not already installed)
To build the project, run:
cargo build
To create a bootable image and run it in QEMU, use:
cargo run
src/main.rs
: Contains the kernel entry point and basic VGA buffer outputCargo.toml
: Rust package manifestrust-toolchain
: Specifies the Rust toolchain version.cargo/config.toml
: Cargo configuration for custom target and runnerx86_64-pixie_os.json
: Custom target specification for x86_64
Contributions to PixieOS are welcome! Please feel free to submit pull requests, create issues or suggest improvements.
MIT
Wbert Adrian Castro Vera [email protected]