Skip to content
A barebones framework for a rust kernel.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Kernel Fix build error by setting stage0 for compiler_builtins Feb 2, 2019
.gitignore
.travis.yml
LICENSE Initial commit Jan 26, 2015
README.md Updated makefile Jan 20, 2016

README.md

Rust Bare-Bones Kernel

This is designed to be a rust equivalent of the OSDev.org Bare_Bones article, presenting the bare minimum you need to get started.

Requirements

  • A recent (nightly) build of rustc (at least the date of the most recent commit to this repo)
  • A suitable cross-compiling copy of binutils (i586-elf or x86_64-elf)
  • by running TRIPLE= make instead of make, you can use the system linker, but it may not work.

Features

  • x86 and x86_64 (amd64) "ports"
  • Initial paging for both (with higher-half)
  • Serial output using the classic PC serial port, formatted using ::core::fmt
  • Links with libcore

Building

Roughly, this:

$ git clone https://github.com/thepowersgang/rust-barebones-kernel
$ cd rust-barebones-kernel
$ cd Kernel
$ make UPDATE
$ make
$ cd ..
$ qemu-system-x86_64 -kernel kernel.amd64.bin -serial stdio

You should see a

[main] Hello world!

print to the console.

You can’t perform that action at this time.