Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
0xe85250d6 //checksum
0x00000000 //i386 arch
0x00000048 //header size
0x17adaee2 //checksum
0x0001 //information request
0x0000 //non-optional
0x0000000c //size
0x00000004 //request basic memory info
0x0002 //address info
0x0001 //optional
0x00000018 //size
0x00100000 //multiboot header start
0x00100048 //code start
0x00101098 //end of .data
0x00101098 //end of .bss
0x0003 //entry tag
0x0001 //optional
0x0000000c //size
0x00100048 //entry point
0x0000 //end tag
0x0000
0x00000008
When I try to load my kernel with grub, I get an error message stating that 0x10002 is not a valid information request type. So grub is interpreting the beginning of the address tag header as another information request type. But why? That tag has the proper size and the multiboot spec doesn't mention anything about sentinel values or anything like that.
Does the Tag.Size field include the Tag itself? I can't find any documentation about what to put in this field.
Try changing Tag.Size to 4.
Project: OZone
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott