intermezzOS is a hobby operating system. This repository is for a "bare bones" of its kernel. See the website for more about the project overall.
A "bare bones" is a ready-made beginning of an operating system. The code you'll find here will go "from boot to kmain," ready for you to write your own kernel on top of.
Also, feel free to join us at #intermezzOS on Freenode’s IRC network, if you
want to chat.
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:
nasmldgrub-mkrescue: you may also need to installxorrisoqemu-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 runThis 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
This project is dual licensed under Apache2/MIT. See the two LICENSE-* files
for details.
The intermezzOS project has a Code of Conduct, please observe it.