Preface
1.
Background
1.1.
What is an OS?
1.2.
What kinds of OS are there?
1.3.
What kind are we making?
1.4.
What tools will we use?
2.
Setting up a development environment
2.1.
Installing Rust
2.2.
Linux
2.3.
Mac OS X
2.4.
Windows
3.
Booting up
3.1.
Multiboot headers
3.2.
Hello, world!
3.3.
Making an ISO
3.4.
Running in QEMU
3.5.
Automation with Make
4.
Transitioning to Long Mode
4.1.
Paging
4.2.
Setting up a GDT
4.3.
Jumping headlong into long mode
5.
A Rust kmain()
5.1.
Creating our first crate
5.2.
Hello from Rust!
Appendix A: Troubleshooting
Appendix B: Numeral Systems
Appendix C: Mac OS X Install Script
Light (default)
Rust
Coal
Navy
Ayu
intermezzOS
Background
Before we get going, we should probably have some idea of where we’re headed.