add draft for testing

This commit is contained in:
Philipp Oppermann
2015-07-23 15:50:34 +02:00
parent ea4d8f0056
commit 72f8e122fa

View File

@@ -0,0 +1,27 @@
---
layout: post
title: "[DRAFT] Rust OS Part 1: Booting"
related_posts:
---
Fortunately there is a bootloader standard: the [Multiboot
Specification][multiboot]. So our kernel just needs to indicate that it supports
Multiboot and every Multiboot-compliant bootloader can boot it. We will use the [GRUB 2] bootloader together with the [Multiboot 2] specification. So let's begin!
To indicate our Multiboot 2 support to the bootloader, our kernel must contain a *Multiboot Header*, which has the following format:
Field | Size in byte
------|-----
magic number | 4
Offset | Type | Field Name
-------|------|-----------
0 | u32 | magic
4 | u32 | architecture
8 | u32 | header_length
12 | u32 | checksum
16-XX | | tags
[multiboot]: https://en.wikipedia.org/wiki/Multiboot_Specification
[GRUB 2]: http://wiki.osdev.org/GRUB_2
[Multiboot 2]: http://nongnu.askapache.com/grub/phcoder/multiboot.pdf