I've read numerous times that the raspberry pi doesn't support grub. I've not been able to find any specifics about the incompatibility. I've only found rather blunt statements of the form "it's not supported".
I would like to understand exactly what the issue is and what would need to be re-written to make it work.
What I have found so far is that the stage 3 bootloader reads start.elf which in turn reads the kernel image. To my mind, if grub were to work it would replace (entirely) start.elf. I've looked at the format of UEFI bootloaders and discovered that they use a PE format executable. So my first hypothesis is that the incompatibility is (only) that grub is compiled as a PE and stage 3 only reads ELF.
Have I missed some other major incompatibility? Have I missed some other major task of
start.elf which would be lost if it were replaced by grub?