diff --git a/blog/content/post/01-multiboot-kernel.md b/blog/content/post/01-multiboot-kernel.md index 12c67650..f73171df 100644 --- a/blog/content/post/01-multiboot-kernel.md +++ b/blog/content/post/01-multiboot-kernel.md @@ -17,7 +17,7 @@ This post explains how to create a minimal x86 operating system kernel. In fact, 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/multiboot_bootstrap/src/arch/x86_64 +[source code]: https://github.com/phil-opp/blog_os/tree/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]. diff --git a/blog/content/post/02-entering-longmode.md b/blog/content/post/02-entering-longmode.md index d891813b..4c2e23bb 100644 --- a/blog/content/post/02-entering-longmode.md +++ b/blog/content/post/02-entering-longmode.md @@ -21,7 +21,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/entering_longmode/src/arch/x86_64 +[source code]: https://github.com/phil-opp/blog_os/tree/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: diff --git a/blog/content/post/03-set-up-rust.md b/blog/content/post/03-set-up-rust.md index 8df38b45..f0e43a03 100644 --- a/blog/content/post/03-set-up-rust.md +++ b/blog/content/post/03-set-up-rust.md @@ -20,7 +20,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/set_up_rust +[Github repository]: https://github.com/phil-opp/blog_os/tree/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`.