Rename code release tags for first edition

This commit is contained in:
Philipp Oppermann
2019-01-26 12:39:59 +01:00
parent 9cd801fd1f
commit bc2b3891d6
11 changed files with 20 additions and 20 deletions

View File

@@ -15,7 +15,7 @@ This post explains how to create a minimal x86 operating system kernel using the
I tried to explain everything in detail and to keep the code as simple as possible. If you have any questions, suggestions or other issues, please leave a comment or [create an issue] on Github. The source code is available in a [repository][source code], too.
[create an issue]: https://github.com/phil-opp/blog_os/issues
[source code]: https://github.com/phil-opp/blog_os/tree/post_1/src/arch/x86_64
[source code]: https://github.com/phil-opp/blog_os/tree/first_edition_post_1/src/arch/x86_64
Note that this tutorial is written mainly for Linux. For some known problems on OS X see the comment section and [this issue][mac os issue]. If you want to use a virtual Linux machine, you can find instructions and a Vagrantfile in Ashley Willams's [x86-kernel repository].

View File

@@ -20,7 +20,7 @@ In the [previous post] we created a minimal multiboot kernel. It just prints `OK
I tried to explain everything in detail and to keep the code as simple as possible. If you have any questions, suggestions, or issues, please leave a comment or [create an issue] on Github. The source code is available in a [repository][source code], too.
[create an issue]: https://github.com/phil-opp/blog_os/issues
[source code]: https://github.com/phil-opp/blog_os/tree/post_2/src/arch/x86_64
[source code]: https://github.com/phil-opp/blog_os/tree/first_edition_post_2/src/arch/x86_64
## Some Tests
To avoid bugs and strange errors on old CPUs we should check if the processor supports every needed feature. If not, the kernel should abort and display an error message. To handle errors easily, we create an error procedure in `boot.asm`. It prints a rudimentary `ERR: X` message, where X is an error code letter, and hangs:

View File

@@ -19,7 +19,7 @@ In the previous posts we created a [minimal Multiboot kernel][multiboot post] an
This blog post tries to set up Rust step-by-step and point out the different problems. If you have any questions, problems, or suggestions please [file an issue] or create a comment at the bottom. The code from this post is in a [Github repository], too.
[file an issue]: https://github.com/phil-opp/blog_os/issues
[Github repository]: https://github.com/phil-opp/blog_os/tree/post_3
[Github repository]: https://github.com/phil-opp/blog_os/tree/first_edition_post_3
## Installing Rust
We need a nightly compiler, as we will use many unstable features. To manage Rust installations I highly recommend [rustup]. It allows you to install nightly, beta, and stable compilers side-by-side and makes it easy to update them. To use a nightly compiler for the current directory, you can run `rustup override add nightly`. Alternatively, you can add a file called `rust-toolchain` to the project's root directory:

View File

@@ -20,7 +20,7 @@ In the [previous post] we switched from assembly to [Rust], a systems programmin
This post uses recent unstable features, so you need an up-to-date nighly compiler. If you have any questions, problems, or suggestions please [file an issue] or create a comment at the bottom. The code from this post is also available on [Github][code repository].
[file an issue]: https://github.com/phil-opp/blog_os/issues
[code repository]: https://github.com/phil-opp/blog_os/tree/post_4
[code repository]: https://github.com/phil-opp/blog_os/tree/first_edition_post_4
## The VGA Text Buffer
The text buffer starts at physical address `0xb8000` and contains the characters displayed on screen. It has 25 rows and 80 columns. Each screen character has the following format:

View File

@@ -12,7 +12,7 @@ In this post we create an allocator that provides free physical frames for a fut
The full source code is available on [Github][source repo]. Feel free to open issues there if you have any problems or improvements. You can also leave a comment at the bottom.
[source repo]: https://github.com/phil-opp/blog_os/tree/post_5
[source repo]: https://github.com/phil-opp/blog_os/tree/first_edition_post_5
## Preparation
We still have a really tiny stack of 64 bytes, which won't suffice for this post. So we increase it to 16kB (four pages) in `boot.asm`:

View File

@@ -12,7 +12,7 @@ In this post we will create a paging module, which allows us to access and modif
You can find the source code and this post itself on [Github][source repository]. Please file an issue there if you have any problems or improvement suggestions. There is also a comment section at the end of this page. Note that this post requires a current Rust nightly.
[source repository]: https://github.com/phil-opp/blog_os/tree/post_6
[source repository]: https://github.com/phil-opp/blog_os/tree/first_edition_post_6
## Paging
_Paging_ is a memory management scheme that separates virtual and physical memory. The address space is split into equal sized _pages_ and _page tables_ specify which virtual page points to which physical frame. For an extensive paging introduction take a look at the paging chapter ([PDF][paging chapter]) of the [Three Easy Pieces] OS book.

View File

@@ -14,7 +14,7 @@ In this post we will create a new page table to map the kernel sections correctl
As always, you can find the source code on [Github]. Don't hesitate to file issues there if you have any problems or improvement suggestions. There is also a comment section at the end of this page. Note that this post requires a current Rust nightly.
[Github]: https://github.com/phil-opp/blog_os/tree/post_7
[Github]: https://github.com/phil-opp/blog_os/tree/first_edition_post_7
## Motivation

View File

@@ -17,7 +17,7 @@ In the previous posts we created a [frame allocator] and a [page table module].
As always, you can find the complete source code on [Github]. Please file [issues] for any problems, questions, or improvement suggestions. There is also a comment section at the end of this page.
[Github]: https://github.com/phil-opp/blog_os/tree/post_8
[Github]: https://github.com/phil-opp/blog_os/tree/first_edition_post_8
[issues]: https://github.com/phil-opp/blog_os/issues
## Introduction

View File

@@ -14,7 +14,7 @@ In this post, we start exploring CPU exceptions. Exceptions occur in various err
As always, the complete source code is available on [Github]. Please file [issues] for any problems, questions, or improvement suggestions. There is also a comment section at the end of this page.
[Github]: https://github.com/phil-opp/blog_os/tree/post_9
[Github]: https://github.com/phil-opp/blog_os/tree/first_edition_post_9
[issues]: https://github.com/phil-opp/blog_os/issues
## Exceptions

View File

@@ -12,7 +12,7 @@ In this post we explore double faults in detail. We also set up an _Interrupt St
As always, the complete source code is available on [Github]. Please file [issues] for any problems, questions, or improvement suggestions. There is also a [gitter chat] and a comment section at the end of this page.
[Github]: https://github.com/phil-opp/blog_os/tree/post_10
[Github]: https://github.com/phil-opp/blog_os/tree/first_edition_post_10
[issues]: https://github.com/phil-opp/blog_os/issues
[gitter chat]: https://gitter.im/phil-opp/blog_os