On Mon, Jan 28, 2019 at 02:35:26PM +0100, Alexander Graf wrote: > I got a new toy recently: An HP Envy X2 system. This is one of those shiny > new Qualcomm Snapdragon based Windows tablet/notebook hybrid things. > > While running Windows on those is actually not a terribly bad experience now > that WSL is out, I would like to see Linux run on those as well in the future. > > Unfortunately as far as I'm aware so far nobody was able to run self built > binaries on the built-in UEFI version. > > Turns out, it's a problem with aligning the start of the header to 4k. Once > we do that, binaries can be loaded just fine and run. > > The reason behind that is simple: Its firmware tries to ensure NX protection > flags and can do so only when the code is 4K aligned. > > So to maintain compatibility with that device, this patch set just bumps all > PE alignments to 4K always on all efi targets. This way we improve overall > compatibility - there surely will be more devices coming with similar > constraints. > > This gets us into alignment with how the MS tools build UEFI applications, > so we should not run into compatibility problems about alignment going > forward. > > v1 -> v2: > > - Remove explicit device wording from patch > - Use GRUB_EFI_PAGE_SIZE > > v2 -> v3: > > - Apply alignment to all architectures > - new patch: mkimage: Align efi sections on 4k boundary > > v3 -> v4: > > - Reduce everything down to 1 patch which just adapts *all* alignment > to GRUB_EFI_PAGE_SIZE (4k). > > v4 -> v5: > > - Use GRUB_EFI_PAGE_SIZE > - Add include to have above const defined > - new patch: mkimage: Clarify file alignment in efi case > > v5 -> v6: > > - Change EFIxxHEADER_SIZE macros too > - Fix comment > > Alexander Graf (3): > mkimage: Use EFI32_HEADER_SIZE define in arm-efi case > mkimage: Align efi sections on 4k boundary > mkimage: Clarify file alignment in efi case > > include/grub/efi/pe32.h | 11 +++++++++-- > util/mkimage.c | 19 +++++++------------ > 2 files changed, 16 insertions(+), 14 deletions(-)
Reviewed-by: Daniel Kiper <[email protected]> Adding Julien. Julien, may I ask you to test this patch set on your machine? This is what I am going to push if you confirm that it works. Daniel _______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
