#1076724 fails to boot on some Arm64 laptops

Package:
shim-unsigned
Source:
shim-unsigned
Description:
boot loader to chain-load signed boot loaders under Secure Boot
Submitter:
Dmitry Baryshkov
Date:
2025-01-16 17:36:02 UTC
Severity:
normal
Tags:
#1076724#5
Date:
2024-07-22 16:04:20 UTC
From:
To:
The shim binaries are being built with relaxed file alignment
requirements. This makes some of UEFI implementations reject shim
binaries. For example Lenovo Miix 630 boots grubaa64.efi, but rejects
shimaa64.efi. Most likely this is because of the header differences.
Compare:


objdump -p shimaa64.efi:
...
BaseOfCode              000000000001e000
ImageBase               0000000000000000
SectionAlignment        00001000
FileAlignment           00000200
...

objdump -p grubaa64.efi:
...
AddressOfEntryPoint     0000000000001000
BaseOfCode              0000000000001000
ImageBase               0000000000000000
SectionAlignment        00001000
FileAlignment           00001000
...

Reference for the alignment story:
- https://git.savannah.gnu.org/cgit/grub.git/commit/include/grub/efi/pe32.h?id=a51f953f4ee87cbfbf25a7df564304c5e9fea6a0
- https://web.archive.org/web/20200619041814/https://www.linaro.org/blog/porting-linux-to-aarch64-laptops/