Grub Multiboot Specification: Unable to understand Feilds header_addr and load_addr
I have been trying to understand what the header_addr and load_addr are for.
How does GRUB know how to locate the .TEXT section of the kernel.
The documentation says for the field 'header_addr': "the physical memory location at which the magic value is supposed to be loaded. This field serves to synchronize the mapping between OS image offsets and physical memory addresses." What does this mean?
Grub does not load the multiboot header into memory. It loads the .text + .data segments from the kernel image. How does GRUB know the location from which it should read from the kernel image file into the memory location specified by 'load_end_addr' field from the multiboot header?
It would be great if a diagram was used to represent the relationship between the multiboot header and where in memory the kernel was loaded.
from Recent Questions - Stack Overflow https://ift.tt/3aIiqS1
https://ift.tt/eA8V8J
Comments
Post a Comment