Ontwerp en bouw een besturingssysteem/Appendix B/Multiboot 0.6.96

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

De Multiboot Specificatie versie 0.6.96 wordt gebruikt door GRUB, de meest gebruikte bootloader voor hobby besturingssystemen.

Multiboot Header[bewerken]

De Multiboot Header is een blok gegevens over het besturingssysteem dat wordt gelezen door de bootloader om het besturingssysteem te kunnen laden. Het moet geheel in de eerste 8192 bytes van het kernelbestand staan, en moet beginnen op een 4-byte grens.

Naam Offset Type Beschrijving
magic 0 uint32 Vereist. Altijd 0x1BADB002
flags 4 uint32 Vereist. Zie hieronder.
checksum 8 uint32 Vereist. Zie hieronder.
header_addr 12 uint32 Optioneel. Fysieke geheugenadres waar de kernel geladen moet worden.
load_addr 16 uint32 Optioneel. TODO
TODO TODO uint32 TODO

Flags[bewerken]

 
3130292827262524
00000000
2322212019181716
0000000L
 
 
15141312111098
00000000
76543210
00000VMA
 
Naam Lengte Beschrijving
A 1 bit Module uitlijning:
  • 0: Geen uitlijning.
  • 1: Uitlijning op pagina-grenzen (4 KiB).
M 1 bit Geheugeninformatie:
  • 0: Niet doorgeven aan de kernel.
  • 1: Doorgeven aan de kernel.
V 1 bit Video mode tabel:
  • 0: Niet doorgeven aan de kernel.
  • 1: Doorgeven aan de kernel.
L 1 bit Kernel locatieinformatie:
  • 0: Niet aanwezig. Kernel is in ELF formaat.
  • 1: Wel aanwezig.
Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.