A custom OS written in Rust
Find a file
2025-08-22 14:25:26 +02:00
.cargo feat(OS): Create basic kernel that can be run through both QEMU and on hardware (#1) 2025-07-20 21:15:05 +02:00
kernel feat: Add serial logging (#3) 2025-07-22 19:17:20 +02:00
src chore: Add serial output to the console for qemu runs (#6) 2025-08-22 14:21:44 +02:00
.gitignore feat(OS): Create basic kernel that can be run through both QEMU and on hardware (#1) 2025-07-20 21:15:05 +02:00
build.rs feat(OS): Create basic kernel that can be run through both QEMU and on hardware (#1) 2025-07-20 21:15:05 +02:00
Cargo.lock feat: Add serial logging (#3) 2025-07-22 19:17:20 +02:00
Cargo.toml feat(OS): Create basic kernel that can be run through both QEMU and on hardware (#1) 2025-07-20 21:15:05 +02:00
LICENSE chore: Add serial output to the console for qemu runs (#6) 2025-08-22 14:21:44 +02:00
README.md feat(OS): Create basic kernel that can be run through both QEMU and on hardware (#1) 2025-07-20 21:15:05 +02:00
rust-toolchain.toml chore: Pin the nightly version (#5) 2025-07-30 23:02:43 +02:00

FerrOS

A custom OS written in Rust

Running the OS

You can start running the OS by executing:

cargo run

This assumes that you have a rust environment setup and cargo is available, the easiest way to do this is with rustup.

Dependencies

You should have the command qemu-system-x86_64 available on your system to run the OS through an emulator, although it is also possible to flash it on an USB-drive and boot it directly. For debian users you can install the qemu-system-x86 package and that will make sure all dependencies for the emulator are correctly installed.

Install to USB-drive

To install it to an USB-drive you can use the following command if you are on a linux system.

sudo dd if=<path-to-project>/target/<config>/FerrOS of=/dev/sdX bs=1M status=progress