On 16.06.2011 17:04, Matthew Garrett wrote: > 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. You would need to add a new argument dont_kill_useless_firmware, propagate it to EFI and IEEE1275-specific functions and make relocator ignore the runtime regions if this argument is set. Then if *_addr fails use *_align. > Or am I misinterpreting the behaviour of the relocation code? >
-- Regards Vladimir 'φ-coder/phcoder' Serbinenko
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
