Hi everyone,
For some reason I need to deploy uefi/edk2 on LS1046ARDB using LSDK 18.09 or older ppa bootflow. I've Tried to compile edk2 for sd card boot this way:
Get the edk2:
git clone https://source.codeaurora.org/external/qoriq/qoriq-components/uefi
git checkout LS1046ARDB-QUEFI_DASH_V5-0_1806
Get the edk2-platforms:
git clone https://source.codeaurora.org/external/qoriq/qoriq-components/edk2-platforms
Compilation:
export PATH=gcc-linaro-4.9-2016.02-x86_64_aarch64-linux-gnu/bin:$PATH
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
source edksetup.sh
cd LS1046aRdbPkg
source ls1046a_env.cshrc
cd ../
make -C BaseTools/Source/C
cd LS1046aRdbPkg
./build.sh RELEASE SD ./path_to_uboot/tools
After execution of above steps, i get this log output:
..........................................
Welcome to LS1046A UEFI Build environment
..........................................
Compiling for RELEASE boot
Using mkimage utility is available at this path: uboot/tools/
(Hint: Usually this is the absolute path of the u-boot/tools directory)
Initializing workspace
Loading previous configuration from uefi/Conf/BuildEnv.sh
WORKSPACE: ./uefi
EDK_TOOLS_PATH: uefi/BaseTools
CONF_PATH: uefi/Conf
Build environment: Linux-4.15.0-99-generic-x86_64-with-Ubuntu-18.04-bionic
Build start time: 19:29:16, May.15 2020
WORKSPACE = uefi
PACKAGES_PATH = uefi/edk2-platforms
ECP_SOURCE = uefi/EdkCompatibilityPkg
EDK_SOURCE = uefi/EdkCompatibilityPkg
EFI_SOURCE = uefi/EdkCompatibilityPkg
EDK_TOOLS_PATH = uefi/BaseTools
CONF_PATH = uefi/Conf
Architecture(s) = AARCH64
Build target = RELEASE
Toolchain = GCC49
Active Platform = uefi/LS1046aRdbPkg/LS1046aRdbPkgNonXipBoot.dsc
Flash Image Definition = uefi/LS1046aRdbPkg/LS1046aRdbPkgNonXipBoot.fdf
Processing meta-data .
build.py...
: error F001: Module uefi/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf NOT found in DSC file; Is it really a binary module?
- Failed -
Build end time: 19:29:17, May.15 2020
Build total time: 00:00:01
How can i resolve this problem?
Thanks in advance.
Solved! Go to Solution.
SD UEFI image for LS1046ARDB is not supported, only QSPI UEFI image is supported.
Please refer to the following QSPI UEFI flash.
$ cd uefi
$ source edksetup.sh
$ cd LS1046aRdbPkg
$ source ls1046a_env.cshrc
$ cd ../BaseTools
$ make clean
$ make
$ cd ../LS1046aRdbPkg
$./build.sh RELEASE QSPI clean
$./build.sh RELEASE QSPI
UEFI Firmware Image:
uefi/Build/LS1046aRdb/RELEASE_GCC49/FV/LS1046ARDB_EFI.fd
UEFI Non Volatile Variables Image:
uefi/Build/LS1046aRdb/RELEASE_GCC49/FV/LS1046ARDBNV_EFI.fd
Is SD UEFI supported for LS1046AFRWY, LS1046ARDB and LX2160ARDB in latest LSDK (20.12) ?
SD UEFI image for LS1046ARDB is not supported, only QSPI UEFI image is supported.
Please refer to the following QSPI UEFI flash.
$ cd uefi
$ source edksetup.sh
$ cd LS1046aRdbPkg
$ source ls1046a_env.cshrc
$ cd ../BaseTools
$ make clean
$ make
$ cd ../LS1046aRdbPkg
$./build.sh RELEASE QSPI clean
$./build.sh RELEASE QSPI
UEFI Firmware Image:
uefi/Build/LS1046aRdb/RELEASE_GCC49/FV/LS1046ARDB_EFI.fd
UEFI Non Volatile Variables Image:
uefi/Build/LS1046aRdb/RELEASE_GCC49/FV/LS1046ARDBNV_EFI.fd
Thanks for your answer. I have one more question for clarification:
Is your answer also valid when using uefi with tfa boot flow (LSDK 19.09) with SD Card on LS1046ARDB?
When trying that, uefi start booting then i get this error :
SD UEFI for LS1046ARDB is not supported either in LSDK 19.09.
Thank for your reply.