mirror of
https://github.com/lingble/meta-tegra.git
synced 2025-10-28 19:12:39 +00:00
96 lines
4.7 KiB
PHP
96 lines
4.7 KiB
PHP
require edk2-firmware.inc
|
|
require edk2-firmware-core-tegra-36.4.3.inc
|
|
require conf/image-uefi.conf
|
|
|
|
LICENSE .= " & Proprietary"
|
|
|
|
LIC_FILES_CHKSUM += "file://../edk2-platforms/License.txt;md5=2b415520383f7964e96700ae12b4570a"
|
|
LIC_FILES_CHKSUM += "file://../edk2-nvidia/LICENSE;md5=52d8683e3d65a77ef84cc863e3f24f25"
|
|
LIC_FILES_CHKSUM += "file://../edk2-nvidia-non-osi/Silicon/NVIDIA/Drivers/NvGopDriver/NOTICE.nvgop-chips-platform.efi;md5=782048cadee3851a0da2b4a3fdae0d93"
|
|
|
|
inherit python3native
|
|
|
|
DEPENDS += "dtc-native python3-kconfiglib-native"
|
|
|
|
SRC_URI_EDK2_PLATFORMS = "git://github.com/NVIDIA/edk2-platforms.git;protocol=https;branch=r36.4.0-updates"
|
|
SRC_URI_EDK2_NVIDIA = "git://github.com/NVIDIA/edk2-nvidia.git;protocol=https;branch=r36.4.0-updates"
|
|
SRC_URI_EDK2_NONOSI = "git://github.com/NVIDIA/edk2-non-osi.git;protocol=https;branch=r36.4.0-updates"
|
|
SRC_URI_EDK2_NVIDIA_NONOSI = "git://github.com/NVIDIA/edk2-nvidia-non-osi.git;protocol=https;branch=r36.4.0-updates"
|
|
|
|
SRCREV_edk2-non-osi = "8c09bd0955338db38813e0d8ae1faa634f545f73"
|
|
SRCREV_edk2-nvidia = "5de7ef09811a06475248bf07661f7ae53e1c106d"
|
|
SRCREV_edk2-nvidia-non-osi = "7d8b0a5f9e3e9d6cc58ee7f3f4036cfc8f21970c"
|
|
SRCREV_edk2-platforms = "0b05eaed3d0c624a2084034fcc2bd0721809d041"
|
|
|
|
SRC_URI += "\
|
|
${SRC_URI_EDK2_PLATFORMS};name=edk2-platforms;destsuffix=edk2-tegra/edk2-platforms \
|
|
${SRC_URI_EDK2_NONOSI};name=edk2-non-osi;destsuffix=edk2-tegra/edk2-non-osi \
|
|
${SRC_URI_EDK2_NVIDIA};name=edk2-nvidia;destsuffix=edk2-tegra/edk2-nvidia \
|
|
${SRC_URI_EDK2_NVIDIA_NONOSI};name=edk2-nvidia-non-osi;destsuffix=edk2-tegra/edk2-nvidia-non-osi \
|
|
"
|
|
|
|
SRCREV_FORMAT = "edk2_edk2-platforms_edk2-non-osi_edk2-nvidia_edk2-nvidia-non-osi"
|
|
|
|
SRC_URI += "\
|
|
file://0001-Update-tools_def.template-for-toolchain-differences.patch \
|
|
file://0002-L4TLauncher-allow-for-empty-missing-APPEND-line-in-e.patch;patchdir=../edk2-nvidia \
|
|
file://0003-XusbControllerDxe-use-BaseMemoryLib-functions.patch;patchdir=../edk2-nvidia \
|
|
file://0004-MdePkg-Check-if-compiler-has-__has_builtin-before-tr.patch \
|
|
file://0005-BaseFdtLib-Define-bool-only-for-C17-or-lower.patch \
|
|
file://0006-XsubcontrollerDxe-Fix-build-with-gcc-15.patch;patchdir=../edk2-nvidia \
|
|
"
|
|
|
|
S = "${WORKDIR}/edk2-tegra/edk2"
|
|
|
|
COMPATIBLE_MACHINE = "(tegra)"
|
|
|
|
S_EDK2_NVIDIA = "${@os.path.normpath(os.path.join(d.getVar('S'), '../edk2-nvidia'))}"
|
|
|
|
# A bit of a hack here... S is the 'edk2' subtree, and all of the other
|
|
# subtrees are prefixed 'edk2', and this happens to work out nicely for
|
|
# the debug prefix mapping if we just put 'edk2' as last component of
|
|
# TARGET_DBGSRC_DIR.
|
|
TARGET_DBGSRC_DIR = "/usr/src/debug/${PN}/${PV}/edk2"
|
|
|
|
export DEBUG_PREFIX_MAP
|
|
# We've patched the tools_def template to pick ths flag up from the
|
|
# environment, so we don't end up with `date` commands inserted into
|
|
# makefiles for setting the RTC epoch.
|
|
export SOURCE_DATE_EPOCH_FLAG = "-DBUILD_EPOCH=${SOURCE_DATE_EPOCH}"
|
|
|
|
# NVIDIA has some additional tools_def definitions, which get added
|
|
# like this as part of the stuart build setup.
|
|
apply_tools_def_updates() {
|
|
if [ -e ${S_EDK2_NVIDIA}/Silicon/NVIDIA/tools_def.inc ]; then
|
|
echo "!include Silicon/NVIDIA/tools_def.inc" >> ${S}/Conf/tools_def.txt
|
|
fi
|
|
}
|
|
|
|
# derived from edk2-nvidia/Silicon/NVIDIA/edk2nv/stuart/settings.py
|
|
def nvidia_edk2_packages_path(d):
|
|
paths = ':'.join([os.path.normpath(os.path.join(d.getVar('S'), '../{}'.format(m))) for m in ['edk2/BaseTools', 'edk2', 'edk2-platforms', 'edk2-nvidia',
|
|
'edk2-nvidia-non-osi', 'edk2-non-osi',
|
|
'edk2-platforms/Features/Intel/OutOfBandManagement']])
|
|
paths += ':' + os.path.normpath(os.path.join(d.getVar('B'), 'nvidia-config', 'Jetson'))
|
|
return paths
|
|
|
|
do_configure[dirs] =+ "${B}/nvidia-config/Jetson"
|
|
do_compile[dirs] =+ "${B}/nvidia-config/Jetson"
|
|
|
|
PACKAGES_PATH = "${@nvidia_edk2_packages_path(d)}"
|
|
|
|
TEGRA_UEFI_MINIMAL ??= "0"
|
|
def nvidia_edk2_build_ids(d):
|
|
if bb.utils.to_boolean(d.getVar('TEGRA_UEFI_MINIMAL')):
|
|
return "-D BUILD_GUID=f98bcf32-fd20-4ba9-ada4-e0406947ca3c -DBUILD_NAME=JetsonMinimal"
|
|
else:
|
|
return "-D BUILD_GUID=49a79a15-8f69-4be7-a30c-a172f44abce7 -DBUILD_NAME=Jetson"
|
|
|
|
# BUILD_* taken from Silicon/NVIDIA/edk2nv/stuart/settings.py and
|
|
# builder.py, plus Platform/NVIDIA/Jetson/PlatformBuild.py
|
|
EDK2_EXTRA_BUILD = '-D "BUILDID_STRING=v${PV}" -D "BUILD_DATE_TIME=${@format_build_date(d)}" -D "BUILD_PROJECT_TYPE=EDK2" ${@nvidia_edk2_build_ids(d)}'
|
|
|
|
def format_build_date(d):
|
|
import datetime
|
|
return datetime.datetime.fromtimestamp(int(d.getVar("SOURCE_DATE_EPOCH")), datetime.timezone.utc).replace(microsecond=0).isoformat()
|