x86 kernel
a simple x86 kernel, extended with Rust
this is my work following along with a @phil-opp's blog post series "A minimal x86 kernel"
prerequisites
virtualization
(if you are on OSX, ChromeOS, Windows, etc)
- Vagrant: development environment manager
- VirtualBox: virtualizer
- XQuartz: X11 Graphics
linux dependencies
nasm: assembler (assembly -> binary)ld: linker (makes binary out of other files)grub: creates the bootable isoxorriso: req'd by grub, filesystem manipulatorQEMU: fake-computer emulator
utilities
you don't need these, but they are nice for viewing generated code.
hexdump: allows you to view generated binaryobjdump: a nicer viewer for .o files
up and running
- fork and clone this repository
- navigate into the repo directory:
cd x86-kernel $ vagrant up$ vagrant ssh -- -Y-- -Yforwards graphics$ multirust default nightly-2015-11-19Sets your default rust to a stable nightly. The features needed to do OS work in Rust are not yet in a stable release, so you must use a nightly build.
$ cd /vagrantThe
/vagrantdirectory is the virtualized directory that is synced with the/directory on your HD.$ make run