Skip to content

Creating an OS from scratch as my matura project

License

Notifications You must be signed in to change notification settings

NewDawn0/ChadOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  ____ _               _  ___  ____
 / ___| |__   __ _  __| |/ _ \/ ___|
| |   | '_ \ / _` |/ _` | | | \___ \
| |___| | | | (_| | (_| | |_| |___) |
 \____|_| |_|\__,_|\__,_|\___/|____/
  https://github.com/NewDawn0/ChadOS

Welcome to ChadOS, an experimental operating system created as part of an A-level thesis project. This operating system was developed to explore the complexities and challenges involved in creating a custom OS. If you're interested in learning more about the thesis behind ChadOS, you can find it in the doc/thesis.pdf file. You can also access the Rust documentation by running cargo doc --open.

Build

Let's get started with building ChadOS.

  1. Clone the Repository
git clone github.com/NewDawn0/ChadOS.git
cd ChadOS

Building using Nix

Building ChadOS using Nix is a straightforward process. Ensure you have Nix installed before proceeding.

Prerequisites:

Build

nix-build # Currently doesn't work as compiler_builtins isn't found
# You'll find the resulting ChadOS.img in ./result/bin

Alternatively, you can work within a Nix shell for an isolated development environment.

nix develop
cargo make clean
cargo make build
# Resulting ChadOS.img in the current directory

Building from source

If you prefer to build ChadOS from source, follow these steps.

Prerequisites:

Set up the environment

rustup default nightly # Install nightly toolchain
rustup component add rust-src llvm-tools-preview # Install rust plugins
rustup target add x86_64-unknown-none # Install rustup toolchain
cargo install cargo-bootimage
cargo install cargo-make

Building the OS

cargo make clean
cargo make build
# Resulting ChadOS.img in the current directory

Running tests

You can run tests for ChadOS by executing the following command:

cargo make test

Running it in Qemu

ChadOS can be run in the QEMU virtual machine emulator. Choose one of the following methods to run it.

Using Nix

nix-shell
cargo make clean
cargo make run

From source

If you've built ChadOS from source, run it with the following commands:

cargo make clean
cargo make run

About

Creating an OS from scratch as my matura project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published