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.
To build intermezzOS, first you'll need the source:
$ git clone https://github.com/intermezzOS/kernel $ cd kernel
Next, make sure you're using nightly Rust, and that you have the source
code installed as well. The official way to do this is with the
tool from Rust's website.
$ rustup override add nightly $ rustup component add rust-src $ rustup update nightly
You'll also need xargo. To get it:
$ cargo install xargo
You'll also need some other things installed on your system; how you get them depends on what system you're running. Consult their documentation to figure out exactly how to install:
grub-mkrescue: you may also need to install
If you're on Bash On Windows, you'll need the
grub-pc-bin package, as well as
an X server of some kind, like
xming. You'll also need to run
$ export DISPLAY=:0
You can put it in your
~/.bashrc file to have it automatically work on each
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
[target.x86_64-unknown-intermezzos-gnu] linker = "/Users/yourusername/opt/bin/x86_64-pc-elf-gcc"
yourusername is your username.
After all that setup, it’s as easy as:
$ make run
- Build libcore for our x86_64-unknown-intermezzos-gnu target with Xargo
- 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
This project is dual licensed under Apache2/MIT. See the two
Code of conduct
The intermezzOS project has a Code of Conduct, please observe it.