mirror of
https://github.com/phil-opp/blog_os.git
synced 2025-12-16 22:37:49 +00:00
Add redirects from old URLs
This commit is contained in:
@@ -3,10 +3,6 @@ title = "A minimal x86 kernel"
|
|||||||
order = 1
|
order = 1
|
||||||
url = "multiboot-kernel"
|
url = "multiboot-kernel"
|
||||||
date = "2015-08-18"
|
date = "2015-08-18"
|
||||||
aliases = [
|
|
||||||
"/2015/08/18/multiboot-kernel/",
|
|
||||||
"/rust-os/multiboot-kernel.html",
|
|
||||||
]
|
|
||||||
+++
|
+++
|
||||||
|
|
||||||
This post explains how to create a minimal x86 operating system kernel. In fact, it will just boot and print `OK` to the screen. The following blog posts we will extend it using the [Rust] programming language.
|
This post explains how to create a minimal x86 operating system kernel. In fact, it will just boot and print `OK` to the screen. The following blog posts we will extend it using the [Rust] programming language.
|
||||||
|
|||||||
@@ -4,10 +4,6 @@ order = 2
|
|||||||
url = "entering-longmode"
|
url = "entering-longmode"
|
||||||
date = "2015-08-25"
|
date = "2015-08-25"
|
||||||
updated = "2015-10-29"
|
updated = "2015-10-29"
|
||||||
aliases = [
|
|
||||||
"/2015/08/25/entering-longmode/",
|
|
||||||
"/rust-os/entering-longmode.html",
|
|
||||||
]
|
|
||||||
+++
|
+++
|
||||||
|
|
||||||
In the [previous post] we created a minimal multiboot kernel. It just prints `OK` and hangs. The goal is to extend it and call 64-bit [Rust] code. But the CPU is currently in [protected mode] and allows only 32-bit instructions and up to 4GiB memory. So we need to set up _Paging_ and switch to the 64-bit [long mode] first.
|
In the [previous post] we created a minimal multiboot kernel. It just prints `OK` and hangs. The goal is to extend it and call 64-bit [Rust] code. But the CPU is currently in [protected mode] and allows only 32-bit instructions and up to 4GiB memory. So we need to set up _Paging_ and switch to the 64-bit [long mode] first.
|
||||||
|
|||||||
@@ -4,11 +4,6 @@ order = 3
|
|||||||
url = "set-up-rust"
|
url = "set-up-rust"
|
||||||
date = "2015-09-02"
|
date = "2015-09-02"
|
||||||
updated = "2017-04-12"
|
updated = "2017-04-12"
|
||||||
aliases = [
|
|
||||||
"/2015/09/02/setup-rust/",
|
|
||||||
"/setup-rust.html",
|
|
||||||
"/rust-os/setup-rust.html",
|
|
||||||
]
|
|
||||||
+++
|
+++
|
||||||
|
|
||||||
In the previous posts we created a [minimal Multiboot kernel][multiboot post] and [switched to Long Mode][long mode post]. Now we can finally switch to [Rust] code. Rust is a high-level language without runtime. It allows us to not link the standard library and write bare metal code. Unfortunately the setup is not quite hassle-free yet.
|
In the previous posts we created a [minimal Multiboot kernel][multiboot post] and [switched to Long Mode][long mode post]. Now we can finally switch to [Rust] code. Rust is a high-level language without runtime. It allows us to not link the standard library and write bare metal code. Unfortunately the setup is not quite hassle-free yet.
|
||||||
|
|||||||
@@ -4,10 +4,6 @@ order = 4
|
|||||||
url = "printing-to-screen"
|
url = "printing-to-screen"
|
||||||
date = "2015-10-23"
|
date = "2015-10-23"
|
||||||
updated = "2016-10-31"
|
updated = "2016-10-31"
|
||||||
aliases = [
|
|
||||||
"/2015/10/23/printing-to-screen/",
|
|
||||||
"/rust-os/printing-to-screen.html",
|
|
||||||
]
|
|
||||||
+++
|
+++
|
||||||
|
|
||||||
In the [previous post] we switched from assembly to [Rust], a systems programming language that provides great safety. But so far we are using unsafe features like [raw pointers] whenever we want to print to screen. In this post we will create a Rust module that provides a safe and easy-to-use interface for the VGA text buffer. It will support Rust's [formatting macros], too.
|
In the [previous post] we switched from assembly to [Rust], a systems programming language that provides great safety. But so far we are using unsafe features like [raw pointers] whenever we want to print to screen. In this post we will create a Rust module that provides a safe and easy-to-use interface for the VGA text buffer. It will support Rust's [formatting macros], too.
|
||||||
|
|||||||
10
blog/static/_redirects
Normal file
10
blog/static/_redirects
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# Redirects from what the browser requests to what we serve
|
||||||
|
/2015/08/18/multiboot-kernel/ /multiboot-kernel/
|
||||||
|
/rust-os/multiboot-kernel.html /multiboot-kernel/
|
||||||
|
/2015/08/25/entering-longmode/ /entering-longmode/
|
||||||
|
/rust-os/entering-longmode.html /entering-longmode/
|
||||||
|
/2015/09/02/setup-rust/ /set-up-rust/
|
||||||
|
/setup-rust.html /set-up-rust/
|
||||||
|
/rust-os/setup-rust.html /set-up-rust/
|
||||||
|
/2015/10/23/printing-to-screen/ /printing-to-screen/
|
||||||
|
/rust-os/printing-to-screen.html /printing-to-screen/
|
||||||
Reference in New Issue
Block a user