Skip to content

safin-m/zerOS

Repository files navigation


░▒▓████████▓▒░ ░▒▓████████▓▒░ ░▒▓███████▓▒░   ░▒▓██████▓▒░   ░▒▓███████▓▒░
       ░▒▓█▓▒░ ░▒▓█▓▒░        ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░
     ░▒▓██▓▒░  ░▒▓█▓▒░        ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░
   ░▒▓██▓▒░    ░▒▓██████▓▒░   ░▒▓███████▓▒░  ░▒▓█▓▒░░▒▓█▓▒░  ░▒▓██████▓▒░
 ░▒▓██▓▒░      ░▒▓█▓▒░        ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░        ░▒▓█▓▒░
░▒▓█▓▒░        ░▒▓█▓▒░        ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░        ░▒▓█▓▒░
░▒▓████████▓▒░ ░▒▓████████▓▒░ ░▒▓█▓▒░░▒▓█▓▒░  ░▒▓██████▓▒░  ░▒▓███████▓▒░


Minimal operating system written in Rust

Set up the environment

To set up the environment run the following commands:

   chmod +x ./install-deps.sh
   ./install-deps.sh

Build and Run

Build using rust-based bootloader

The runner is set up to compile, build and run the OS

To build run the following commands:

   cargo bootimage

and then,

   qemu-system-x86_64 -drive format=raw,file=target/x86_64-unknown-none/debug/bootimage-zer_os.bin

To build and run:

   cargo run

Build using custom bootloader

  1. Add the following lines to your ./Cargo.toml

       [lib]
       path = "src/main.rs"
       crate-type = ["staticlib"]
    
  2. Generate ISO using the following command

       cargo make generate_iso
  3. Run:

       cargo make run

For debugging you could run

   cargo make dbg

and then in another terminal (make sure lldb is installed)

   lldb
   gdb-remote 1234

About

Minimal operating system written in Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published