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:
nasm
ld
grub-mkrescue
: you may also need to installxorriso
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
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.