With 2ba2294c45, we
now use 'configured' instead of 'suspended', but
missed updating the declaration of the variable
within the functions that use it.
Signed-off-by: Matt Madison <matt@madison.systems>
The logic for generating the compatibility spec for P3701
SKUs changed in L4T R35.4.1, but we missed it.
Signed-off-by: Matt Madison <matt@madison.systems>
Remove ESP image dependency for BUP generation. The BUP generation
script doesn't use it, and the only mention of ESP partition is in the list
of boot artifacts to be included into BUP image (bup_type=bl), where
the ESP image is explicitly marked to be skipped.
Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
When a device is enumerated by the host, its usb configuration state
changes to positively identify that it is ready to go. Conversely,
when it is powered down, its configuration state indicates that it
is no longer in that ready ('configured') state.
A side effect of the power saving for the USB peripheral would change
the device into a suspended state if it is not configured, but this
mechanism does not work reliably on the Orin AGX devkit.
Additionally, the gadget device sysfs node changed from a single
/UDC/device/gadget function to /UDC/device/gadget.# in kernels newer
than the current L4T 5.15, breaking the previous method for newer
kernels.
Use this more direct method of determining if the usb host is using
the device so it will work across various platforms as well as kernel
versions.
Signed-off-by: Kurt Kiefer <kekiefer@gmail.com>
Fix typo and missing 'T' character in variable reference
for `PARTITION_LAYOUT_EXTERNAL`.
The current typo means if the name of the file referenced
by PARTITION_FILE_EXTERNAL was different than the name
PARTITION_LAYOUT_EXTERNAL, the wrong filename would be used
in the l4t-storage-layout dir.
Relates to #1
1: https://github.com/OE4T/meta-tegra/pull/1684
Signed-off-by: Dan Walkes <danwalkes@trellis-logic.com>
The tegra-drm + nvidia-drm setup on r36 is tenuous with respect
to egl-gbm (and particularly calls to eglGetPlatformDisplayEXT with
EGL_PLATFORM_GBM_KHR). It was only working somewhat by chance due
to the order that devices are probed and then made available to
readdir().
This change adds a patch to egl-gbm to provide a fallback in the
case where eglGetPlatformDisplayEXT(EGL_PLATFORM_GBM_KHR) might have
otherwise failed for no good reason, thus eliminating the need for
workarounds to enforce ordering of the modules loading.
Signed-off-by: Kurt Kiefer <kekiefer@gmail.com>
OE-core has dropped the version number from these recipe names
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Matt Madison <matt@madison.systems>
CUDA 12 added 32-bit x86 tools and libraries to the cuda-sanitizer
package. They're not likely needed in our builds or SDKs, so just
remove them to avoid packaging issues.
Signed-off-by: Matt Madison <matt@madison.systems>
to ensure that there's a usable python3 environment for
running the scripts from tegra-flashtools-native.
Signed-off-by: Matt Madison <matt@madison.systems>
The deploy task uses the tegra-flashtools python scripts, so
inherit python3native to ensure we've got a suitable python
environment to run them.
Signed-off-by: Matt Madison <matt@madison.systems>
This change permits passing kernel command line arguments that include
quoted strings, including dyndbg. Without single quotes, these
invocations of `mkbootimg` will silently produce incorrect results.
Signed-off-by: Zachary T Welch <zach@aquabyte.ai>
Signed-off-by: Matt Madison <matt@madison.systems>
This introduces a hook to the initrd-flash script which makes it
possible to run custom scripts before erasing the storage disk
via "erase-nvme" or overwriting it via "export-devices".
Note: There exists already an "extra" hock to run future scripts
before the final reboot step. Similar to that, any future recipe
intended to add custom extra pre-wipe scripts can use the
TEGRA_INITRD_FLASH_INSTALL variable in the distro config to add
the new package(s).
Furthermore, note that these custom scripts will need to be
installed with executable permission set in the
/init_extra-pre-wipe.d folder of the tegraflash initrd image.
Signed-off-by: Stefan Schorr <stefan.schorr@cognex.com>
The global tegra-mender-setup.bbclass from the meta-mender-community
layer uses the L4T_VERSION variable to define a `l4t-mender-<version>`
machine override, so that variable also needs to be available globally.
Signed-off-by: Zachary T Welch <zach@aquabyte.ai>
Signed-off-by: Matt Madison <matt@madison.systems>
These recipes are included to allow the initrd used for flashing
to be built without relying on the meta-oe layer. Clean them
up so that if meta-oe is part of the build, they don't conflict
with the real recipes for things like SDK builds.
For libconfig-tegra, exclude it completely when meta-oe is present,
since we can use the normal libconfig recipe instead.
The libusbgx build is customized for the initrd flash initramfs,
so for now, at least, just empty the -dev package for it.
Signed-off-by: Matt Madison <matt@madison.systems>
Add needed dependencies and linker flags as well as copy the data files
to target, needed to run c++11_cuda sample, in order to run this the
limitation is that one must be in /usr/bin/cuda-samples subdir when
executing this sample, so it can find warandpeace.txt under ./data dir
Signed-off-by: Khem Raj <raj.khem@gmail.com>
otherwise O_P_M update does not work and fails like below
Configuring tegra-libraries-eglcore.
ln: failed to create hard link '/usr/lib/aarch64-linux-gnu/tegra-egl/libEGL_nvidia.so.0': File exists
error: pkg_run_script: package "tegra-libraries-eglcore" postinst script returned status 1.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
to add -trimpath to the build of libnvidia-container-go.so, so it doesn't
trigger buildpaths QA warnings.
Signed-off-by: Matt Madison <matt@madison.systems>
Fixes
WARNING: tar-l4t-workaround-native-1.0-r0 do_unpack: tar-l4t-workaround-native: the directory ${WORKDIR}/${BP} (/mnt/b/yoe/master/build/tmp/work/x86_64-linux/tar-l4t-workaround-native/1.0/tar-l4t-workaround-1.0) pointed to by the S variable doesn't exist - please set S within the recipe to point to where the source has been unpacked to
Signed-off-by: Khem Raj <raj.khem@gmail.com>
buildpaths is a QA warning up until now, but there are patches
in oe-core/master-next which will elevate it to an error, therefore
fix the error by helping makefile to not add extra leading '/', other
fix would be to add another expression to -fdebug-prefix-map option
in CFLAGS, but this if ok, is a better way to handle it.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
In the case of a custom provider of virtual/dtb, the devicetrees won't
all be built by nvidia-kernel-oot, so it shouldn't die if an item in
the KERNEL_DEVICETREE list isn't found here.
Note that previously, DTBFILE was overwritten for the custom devicetrees,
but due to changes elsewhere, this is no longer possible. The choice was
between patching those other places, or this change, which now allows a
dtb to be built by more intuitively updating the KERNEL_DEVICETREE variable.
Signed-off-by: Kurt Kiefer <kekiefer@gmail.com>
Custom boards wishing to provide their own devicetree sources will
want to be a provider of virtual/dtb. If this happens, then other
providers of virtual/dtb will not be built. That's a problem, because
the nvidia-kernel-oot recipe also contains device drivers and overlay
devicetree sources that are required.
To solve this, the deployment step of nvidia-kernel-oot is broken
out into a special provider for virtual/dtb. That way, it can easily
be skipped by creating a new virtual/dtb provider and the rest of
nvidia-kernel-oot can still be built and used.
Signed-off-by: Kurt Kiefer <kekiefer@gmail.com>
When using clang, one could use llvm runtime to provide C/C++ runtime libs
instead, here, since it uses gcc, also use relevant runtime settings
Signed-off-by: Khem Raj <raj.khem@gmail.com>
TOOLCHAIN variable is indicative of which compiler toolchain
should be used and for cuda-gcc class its GCC obviously, therefore
make it clear here, this helps in builds when default toolchain is
clang/llvm ( using meta-clang ) and defaulting TOOLCHAIN = "clang"
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Add missing dependency on virtual/bootloader:do_deploy,
needed for all platforms
* Add missing dependency, and staging, for the ESP image,
needed for the AGX Orin platform using internal storage,
to satisfy the NVIDIA flashing tools while generating the
BUP/capsule contents.
Signed-off-by: Matt Madison <matt@madison.systems>
to fix a problem with inconsistent results from the symlink chain resolver
used to set up the hooks to create symlinks.
Signed-off-by: Matt Madison <matt@madison.systems>
The L4T R36.x kernel tree no longer includes the
NVIDIA-specific source overlays, so we can drop
this tool.
Signed-off-by: Matt Madison <matt@madison.systems>