From 73673f759d915cca52c689b7ddd836e19f826702 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Tue, 5 Jan 2016 16:17:24 +0100 Subject: [PATCH] Add building instructions and links to posts and source code --- README.md | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b22dd09b..604d71f6 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,35 @@ -# blogOS +# Blog OS [![Build Status](https://travis-ci.org/phil-opp/blog_os.svg?branch=master)](https://travis-ci.org/phil-opp/blog_os) -This repository contains the code for the “Writing an OS in Rust” series at [os.phil-opp.com](http://os.phil-opp.com). +This repository contains the source code for the _Writing an OS in Rust_ series at [os.phil-opp.com](http://os.phil-opp.com). -# License +## Bare Bones +- [A Minimal x86 Kernel](http://os.phil-opp.com/multiboot-kernel.html) + ([source code](https://github.com/phil-opp/blog_os/tree/multiboot_bootstrap)) +- [Entering Long Mode](http://os.phil-opp.com/entering-longmode.html) + ([source code](https://github.com/phil-opp/blog_os/tree/entering_longmode)) +- [Set Up Rust](http://os.phil-opp.com/set-up-rust.html) + ([source code](https://github.com/phil-opp/blog_os/tree/set_up_rust)) +- [Printing to Screen](http://os.phil-opp.com/printing-to-screen.html) + ([source code](https://github.com/phil-opp/blog_os/tree/printing_to_screen)) + +## Memory Management +- [Allocating Frames](http://os.phil-opp.com/allocating-frames.html) + ([source code](https://github.com/phil-opp/blog_os/tree/allocating_frames)) +- [Page Tables](http://os.phil-opp.com/modifying-page-tables.html) + ([source code](https://github.com/phil-opp/blog_os/tree/page_tables)) +- [Remap the Kernel](http://os.phil-opp.com/remap-the-kernel.html) + ([source code](https://github.com/phil-opp/blog_os/tree/remap_the_kernel)) + +## Additional Resources +- [Cross Compile Binutils](http://os.phil-opp.com/cross-compile-binutils.html) +- [Cross Compile libcore](http://os.phil-opp.com/cross-compile-libcore.html) +- [Set Up GDB](http://os.phil-opp.com/set-up-gdb.html) + +## Building +You need to have `nasm`, `grub-mkrescue`, `qemu` and a nighly Rust compiler installed. Then you can run it using `make run`. + +Please file an issue if you run into any problems. + +## License The source code is dual-licensed under MIT or the Apache License (Version 2.0). This excludes the `posts` and `pages` directories.