UEFI on BeagleBoard qEmu
Olivier.Martin at arm.com
Tue Jul 12 21:59:16 UTC 2011
just a quick comment about this last ASSERT(), I will come back on the other points later. I think I understand what is going wrong here. It is a bit tricky ...
Before building the UEFI firmware, you have to prepare your UEFI build environment. To do that:
1) You set up the environment variables with: . edksetup.sh `pwd`/BaseTools
2) You build the Tianocore BaseTools
Unfortunately, the Tianocore BaseTools are broken as you know ... And we have to apply a patch (or a set of patches ...).
I have just remembered you said you had troubles with the toolchain at the beginning. I guess it is because you did not apply the patch.
What happen is this patch changes some compilation flags in the toolchains. These compilation flags are in [EDK2_ROOT]/BaseTools/Conf/tools_def.template.
When you typed '. edksetup.sh `pwd`/BaseTools' the script copies [EDK2_ROOT]/BaseTools/Conf/ to [EDK2_ROOT]/Conf/.
But if you change any files in [EDK2_ROOT]/BaseTools/Conf/ and you call again '. edksetup.sh `pwd`/BaseTools' the configuration files will not be overwritten.
It is I think why you have got this ASSERT(). One of my patches changes the compilation flags in [EDK2_ROOT]/BaseTools/Conf/tools_def.template to fix the generated relocation symbols. But in your case, you was still using the old configuration file.
A workaround if you applied the patch after trying to build the BaseTools a first time is:
1) rm -Rf Conf/*
2) make -C BaseTools clean
3) . edksetup.sh `pwd`/BaseTools
4) make -C BaseTools
Let me know if it is better.
From: Loïc Minier [loic.minier at linaro.org]
Sent: 07 July 2011 17:17
To: Olivier Martin
Cc: boot-architecture at lists.linaro.org
Subject: Re: UEFI on BeagleBoard qEmu
To try the resulting image, I just did:
qemu-system-arm -mtdblock \
-nographic -M beagle
which sent this on the serial port:
Magic delay to disable watchdog timers properly.
ASSERT_EFI_ERROR (Status = Unsupported)
ASSERT /home/lool/git/edk2/edk2/edk2/EmbeddedPkg/Library/PrePiLib/PrePiLib.c(73): !EFI_ERROR (Status)
I didn't actually look into this issue yet.
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
More information about the boot-architecture