A custom OS written in Rust
Find a file
Noah Knegt 14d4422cc9
All checks were successful
Lint / Format (push) Successful in 2m17s
Test / Integration Tests (push) Successful in 4m58s
Lint / Clippy (push) Successful in 7m29s
Test / Unit Tests (push) Successful in 7m41s
Build / Build Binary (push) Successful in 8m20s
Add actions to the release process (#12)
Reviewed-on: #12
2026-01-07 15:32:10 +01: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
.github/workflows chore: Fix syntax error in test actions (#16) 2026-01-07 15:26:20 +01:00
kernel build: Fix the pipelines (#15) 2026-01-07 15:22:09 +01:00
src update-toolchain 2026-01-07 11:52:18 +01: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 chore: Update README and build script for new disk image naming (#10) 2026-01-07 14:03:24 +01:00
Cargo.lock update-toolchain 2026-01-07 11:52:18 +01:00
Cargo.toml update-toolchain 2026-01-07 11:52:18 +01:00
cliff.toml build: Add GitHub Actions workflows for lint, test, build, and release (#11) 2026-01-07 14:03:45 +01:00
LICENSE feat(qemu): Add serial output to the console (#7) 2026-01-07 11:40:56 +01:00
README.md chore: Update README and build script for new disk image naming (#10) 2026-01-07 14:03:24 +01:00
rust-toolchain.toml update-toolchain 2026-01-07 11:52:18 +01:00

FerrOS

A custom OS written in Rust

Running the OS

You can start running the OS by executing:

cargo run -- -h

This will show you the help of the wrapper application (QEMU with the kernel), and explain the options you can use instead of the -h.

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-<uefi|bios> of=/dev/sdX bs=1M status=progress