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

Reply via email to