qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 6/7] hw/arm: pass pristine kernel image to gu


From: Laszlo Ersek
Subject: Re: [Qemu-devel] [PATCH v3 6/7] hw/arm: pass pristine kernel image to guest firmware over fw_cfg
Date: Fri, 12 Dec 2014 15:24:39 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]