grub-devel
[Top][All Lists]
Advanced

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

Re: Questions about booting Linux kernel using AARCH64 GRUB


From: Leif Lindholm
Subject: Re: Questions about booting Linux kernel using AARCH64 GRUB
Date: Thu, 13 Mar 2014 11:03:32 +0000
User-agent: Mutt/1.5.21 (2010-09-15)

On Thu, Mar 13, 2014 at 09:41:32AM +0400, Andrey Borzenkov wrote:
> > > 3. If question 2 were true, how to solve this problem? Do I have to tweak
> > > zImage to PE format?
> > 
> > The answer to all three questions is actually the same:
> > 
> > You are correct that load_image/start_image require a valid EFI
> > application.
> 
> Is it something AArch64 specific? On x86 grub can load native vmlinuz;
> is it not possible on AArch64?

The decision was made to (at least for the time being) keep the boot
protocol between UEFI and the Linux kernel closed.
Hence, while an Image (no zImage on AArch64) loader could be implemented
for AArch64, the booted kernel would not support runtime services (and
have some other limitations too, since the configuration tables would be
inaccessible).

> I mean, it is fine to rely on EFI, but
> then you at least need to rename "linux" into "linuxefi" to match
> existing x86 convention, otherwise it is extremely confusing.

That's not a convention, it's a workaround. A workaround for the x86
UEFI support being held out-of-tree[1], and hence not possible to
integrate with the core Linux loader.

Debian/Ubuntu support using "linux" and distinguish between methods by
checking for an MZ header. This to me is cleaner than having a
separate command, when the actual config file/command line interfaces
remain 100% compatible.

The arm64 linux loader does this check - it just does not currently
implement an Image loader. If we expect a U-Boot port for arm64, then
such a loader will need to be added.

/
    Leif

[1] We need to fix this. There is no need for the x86 UEFI stub
    support to be entirely entangled with the shim support.



reply via email to

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