On Mon, Mar 16, 2015 at 07:35:52AM +0100, Koen Kooi wrote:
This is an UEFI I built myself using https://github.com/96boards/edk2/commits/hikey with a change to use /dev/sda1 as root in bootargs, nothing more.
What is needed to get linux to notice UEFI? It looks like all the bits are in place (bootloader, kernelstub, kernel config).
Booting the kernel as a stub.
How is the kernel actually invoked in this HiKey build-UEFI-but-don't-use-it firmware?
I'm still unfamiliar with EDK2, so I'm going to take a stab at answering your question without knowning what I'm doing :)
HisiPkg/HiKeyPkg/HiKey.dsc sets:
gArmPlatformTokenSpaceGuid.PcdDefaultBootType|2
Which seems to imply it's not loaded in EFI mode:
# PcdDefaultBootType define the type of the binary pointed by
PcdDefaultBootDevicePath: \r # - 0 = an EFI application\r # - 1 = a Linux kernel with ATAG support\r # - 2 = a Linux kernel with FDT support\r
Flipping the DefaultBootType to 0 (the only method that has any business existing in UEFI) would probably do the trick without getting into the unfortunate habit of using a startup.nsh.
Would entering the shell and doing
./Image dtb=hi6220-hikey.dtb console=ttyAMA0,115200
earlycon=pl011,0xf8015000 root=/dev/sda1 r0 quiet
Should launch it in uefi mode, right?
Yes. Only with '' instead :)
/ Leif