Hi,
I've been working on my operating system for about a month, and I never had any problems with GRUB. However while I was working on the FAT12/16/32 filesystem driver, I tried to test the OS (in QEMU) but GRUB couldn't load the kernel image file. The error is: "Invalid or unsupported executable format". On the OSDev wiki it says that it's a common problem when the multiboot header is not within the first 8KB of the kernel image and when it's not aligned on a 4-byte boundary. However, the linker address map shows that the multiboot header is at 0x100000, as it always was, so that can't be the problem. Does anyone know what could the problem possibly be? I checked the executable (which uses the ELF format, by the way) and it doesn't look like it's been modified by viruses.
EDIT:
I solved it. The problem was with the way I declared the DMA buffer (I used an alignment of 0x8000), and the multiboot header was far from the first 8KB.