В Wed, 12 Mar 2014 10:50:59 +0000 Leif Lindholm <leif.lindh...@linaro.org> пишет:
> Hi Cedric, > > On Wed, Mar 12, 2014 at 11:00:43AM +0800, 林揆斌 wrote: > > I got some questions about the routine "grub_linux_boot" in > > "grub-core/loader/ > > arm64/linux.c" > > from master branch of this repo: "git://git.savannah.gnu.org/grub.git" and > > would like your help. > > The questions are as follows: > > > > 1. From my understanding, this routine uses bootservice->load_image in line > > 274 > > and bootservice->start_image in line 297 to load/start the Linux kernel > > (i.e. > > zImage), is it correct? > > Or it is actually loading something else? > > > > 2. If question 1 were true, does it mean that the Linux kernel should be in > > PE > > format? Because > > bootservice->load_image requires the file to be in that format otherwise it > > will return "UNSUPPORTED", which is the problem I'm facing now. > > > > 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? 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. > On (U)EFI platforms, Linux can be compiled with a built-in "stub" loader, > while at the same time remaining a valid bzImage-zImage/Image. The stub > loader is a PE/COFF EFI application. > The Linux configuration option is CONFIG_EFI_STUB. > > The support for doing this on arm64 is not yet in mainline Linux, but > we are hoping it can be merged for 3.15. If you want to use it before > then, support is in https://git.linaro.org/arm/acpi/leg-kernel.git. > > Best Regards, > > Leif > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel