I'm currently handling some issues related to the kernel ending up on top of used EFI regions on some machines. These seem to be exacerbated by some of grub's behaviour. It seems that the kernel will always be loaded at GRUB_LINUX_BZIMAGE_ADDR, which is problematic in two cases - one being that the kernel can be configured with a different start address, and also that the firmware may have put code there that we wish to preserve.
At present it doesn't seem possible to indicate to the relocator that if there isn't enough space for the decompressed kernel (ie, the init_size parameter from the header) at the desired address, it should put the kernel somewhere else making sure to adhere to the alignment constraints the kernel provides. The load address and the alignment then need to be written back into the kernel header. Or am I misinterpreting the behaviour of the relocation code? -- Matthew Garrett | mj...@srcf.ucam.org _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel