Hello Grub developers;
I'm working on a project similar to Intel's trusted boot (tboot) project (1) that uses Intel's TXT features to call the special GETSEC[SENTER] instruction. If I try to start Grub at any point after executing that instruction, Grub loads in its minimal mode, cannot find any partitions, and has almost no commands available. Grub works fine when utilizing AMD's equivalent secure kernel initialize (SKINIT) function.
I doubt this is any fault of Grub, but to diagnose, I'm struggling to find what it is that Grub is looking for, that it can't find. When booting the Linux kernel, the linux kernel boot protocol must be followed. Is there something similar for Grub? Another way to phrase it would be: what does Grub require to properly run? (this is in a standard x86 consumer laptop/desktop environment)
My only thought thus far was to check that the MBR was not erased from memory (512 bytes @ phys addr: 0x7c00), since that contains the partition map that Grub seemingly isn't finding/loading, but this is not the case.
Any guidance or thoughts would be appreciated!