Posted: Wed May 09, 2007 6:59 am
From the spec:Combuster wrote:GRUB may support both ELF and Multiboot, but other loaders may not necessarily do so (and support only one, or even neither).
So any compliant multiboot loader must support loading ELF images without the kludge.Multiboot specification wrote:Compliant boot loaders must be able to load images that either are in elf format or contain the load address information embedded in the Multiboot header
I never said multiboot wasn't a valid option. I was just remarking that ELF support is a required part of the multiboot standard, so if you've got an ELF toolchain you might as well use multiboot+ELF.Hence choosing multiboot is a perfectly valid decision. Besides, many tutorials target multiboot rather than elf.
Unless the problem is in the "kludge" part of the multiboot header, which to me seems quite likely at this point. Using ELF allows removal of that part of the header, so the multiboot loader can use the data provided by the linker. Since the linker script looks reasonable (other than missing sections like .ctors and such) that might work.Changing targets now will only cause more problems rather than solving any.
And if it doesn't (because the unspecified sections are put in weird places by the linker?) at least objdump will be able to make sense of the image, perhaps allowing us to diagnose the real problem...