Bug#1076724: fails to boot on some Arm64 laptops
Package: shim-unsigned
Version: 15.8-1
Severity: important
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/
-- System Information:
Debian Release: trixie/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: arm64 (aarch64)
Kernel: Linux 6.10.0-test-dp+ (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
-- no debconf information
Reply to: