On 12/12/14 15:14, Richard W.M. Jones wrote: > On Fri, Dec 12, 2014 at 03:10:42PM +0100, Laszlo Ersek wrote: >> Sure, if you have a kernel image (with the EFI stub) that is an >> *immediately executable* EFI binary, then you can just go to the UEFI >> shell, navigate to the filesystem / directory that hosts that image, and >> run it. (Similarly, PXE boot it etc.) >> >> But in this case the EFI binary is compressed with gzip (for aarch64 >> kernels); you couldn't even run it from the UEFI shell. > > But ... > > $ file /boot/vmlinuz-3.18.0-0.rc7.git0.1.rwmj10.fc22.aarch64 > /boot/vmlinuz-3.18.0-0.rc7.git0.1.rwmj10.fc22.aarch64: gzip compressed data, > max compression, from Unix > $ uname -a > Linux mustang.home.annexia.org 3.18.0-0.rc7.git0.1.rwmj10.fc22.aarch64 #1 SMP > Mon Dec 1 18:40:10 GMT 2014 aarch64 aarch64 aarch64 GNU/Linux > > How does it work on the baremetal hardware?
You boot it with grub, which is a UEFI application that loads the image from disk with UEFI protocols, but then decompresses the image itself, before running it. It is not the firmware itself that loads it with the LoadImage() boot service. Try decompressing the kernel manually with gunzip, and then running "file" on it. Thanks Laszlo