/kernel

A hobby operating system, in Rust

Primary LanguageRust

intermezzOS: kernel

Build Status

intermezzOS is a hobby operating system. This repository is for its kernel. See the website for more.

Also, feel free to join us at #intermezzOS on Freenode’s IRC network, if you want to chat.

Building

Make sure you have a nightly Rust installed. Something like this:

$ rustc --version
rustc 1.13.0-nightly (267cde259 2016-05-25)

If you don’t have Rust installed (and maybe even if you've installed Rust some other way), you should use rustup to get it; it makes using multiple Rust versions very easy.

Then get this stuff:

  • nasm
  • ld
  • grub-mkrescue: you may also need to install xorriso
  • qemu-system-x86_64

If you're on OS X, you might want to use this script to get them. You'll also need to set this in your ~/.cargo/config:

[target.x86_64-unknown-intermezzos-gnu]
linker = "/Users/yourusername/opt/bin/x86_64-pc-elf-gcc"

Where yourusername is your username.

After all that setup, it’s as easy as:

$ make run

This will:

  • Build the Rust code with Cargo
  • Compile the bit of assembly needed to boot
  • Link it all together
  • Build an ISO out of it all
  • Run that ISO in qemu

License

This project is dual licensed under Apache2/MIT. See the two LICENSE-* files for details.

Code of conduct

The intermezzOS project has a Code of Conduct, please observe it.