Commit Graph

2493 Commits

Author SHA1 Message Date
Matt Madison
f338fd8ab8 tegra-binaries: update R35.4.1 -> R35.5.0
* Rename recipes
* Update checksums
* Refresh patches for tegra-flashtools-native and
  tegra-configs

Signed-off-by: Ilies CHERGUI <ichergui@nvidia.com>
Signed-off-by: Matt Madison <matt@madison.systems>
2024-03-17 07:40:13 -07:00
Matt Madison
dd789beb6e jetson-orin-nano-devkit: set TNSPEC_BOOTDEV_DEFAULT
to point to the SDcard, which is the proper default for
the Orin Nano dev kit.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-03-14 09:44:57 -07:00
Matt Madison
d4e0d078ea layer.conf, README.md: drop nanbield from LAYERSERIES_COMPAT
Signed-off-by: Matt Madison <matt@madison.systems>
2024-03-10 09:46:29 -07:00
Vitaly Kuzin
5237f91da9 cudnn: fix cudnn-samples fetch error
URL that works:

    https://repo.download.nvidia.com/jetson/common/pool/main/c/cudnn-samples/libcudnn8-samples_8.6.0.166-1+cuda11.4_arm64.deb
2024-02-20 12:11:18 -05:00
Brennan Coslett
8e0c916f85 uefi_common.func.in: Fix gen_compat_3701 typo
Signed-off-by: Brennan Coslett <brennan.coslett@bluerivertech.com>
2024-02-19 14:28:30 -05:00
Matt Madison
2ef932f823 README.md: update LAYERSERIES_COMPAT
Signed-off-by: Matt Madison <matt@madison.systems>
2024-02-15 02:50:40 -08:00
Khem Raj
8ed710fcc8 layer.conf: Update for the scarthgap release series
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-02-15 05:45:31 -05:00
Matt Madison
dab7e5b155 external/openembedded-layer: update opencv bbappend to 4.9
* Refresh build patches
* Drop backported patches for Python bindings that are now in 4.9

Signed-off-by: Matt Madison <matt@madison.systems>
2024-02-14 03:20:46 -08:00
Daniel Chaves
d9c20d1eb5 nvidia-container-toolkit: Add version and gitCommit to nvidia-container-runtime --version
Signed-off-by: Daniel Chaves <dchvs11@gmail.com>
2024-02-13 08:58:58 -05:00
Matt Madison
11b401397f cairo: drop bbappend
cairo has dropped its experimental GL backends, so we can
drop the bbappend we had for configuring it correctly for the
tegra platforms.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-02-04 07:04:36 -08:00
Dan Walkes
c3a6ee44f6 tegra-storage-layout: fix support for large rootfs
When using a rootfs with external device too large for the emmc
and a redundant rootfs partition, the APP_b partition is not
removed from the emmc partition and therefore bup payload
creation fails when it tries to place the too large rootfs into
the emmc.

Expand the existing logic to remove the APP_b partition, if it
exists, in addition to the APP partition.

Closes https://github.com/OE4T/meta-tegra/issues/1439

Signed-off-by: Dan Walkes <danwalkes@trellis-logic.com>
2024-02-02 05:51:56 -08:00
Matt Madison
d247268438 nativesdk-packagegroup-cuda-sdk-host: use inherit_defer
to eliminate the build-time warning about the nativesdk class
not being inherited last.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-01-20 06:19:19 -08:00
Matt Madison
b86c2aebe2 libv4l2-minimal: update to v4l-utils 1.26.1 base
to match the version in meta-oe, with the same tegra-specific
patches we apply to that build.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-01-20 06:18:12 -08:00
Matt Madison
7833745672 external/openembedded-layer: update v4l-utils bbappend and patches
for the v4l-utils switch to meson that came in with the latest update
in meta-oe.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-01-20 06:18:12 -08:00
Jose Quaresma
ff9c416d1a edk2-firmware-tegra: add ostree only for sota
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
2024-01-20 04:46:57 -08:00
Jose Quaresma
53c1166f0b libnvidia-container: rdepend on tegra-libraries-cuda
Fixes:

| root@jetson-agx-xavier-devkit:~# nvidia-container-cli -d log info
| nvidia-container-cli: initialization error: driver error: failed to process request
|
| root@jetson-agx-xavier-devkit:~# cat log
|
| -- WARNING, the following logs are for debugging purposes only --
|
| I0116 15:56:51.761083 1362 nvc.c:281] initializing library context (version=0.11.0+jetpack, build=1b60893021cd00c87f201d11eb207215afa3ab11)
| I0116 15:56:51.761474 1362 nvc.c:255] using root /
| I0116 15:56:51.761547 1362 nvc.c:256] using ldcache /etc/ld.so.cache
| I0116 15:56:51.761618 1362 nvc.c:257] using unprivileged user 65534:65534
| I0116 15:56:51.762404 1363 driver.c:134] starting driver service
| E0116 15:56:51.763612 1363 driver.c:196] could not start driver service: load library failed: libcuda.so.1: cannot open shared object file: no such file or directory
| I0116 15:56:51.764073 1362 driver.c:231] driver service terminated successfully

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
2024-01-20 04:46:49 -08:00
Jose Quaresma
32ffdddfb2 initrd-flash: set pipefail option
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
2024-01-20 04:46:26 -08:00
Kurt Kiefer
563552ce02 external/openembedded-layer: tensorrt-plugins: fixes for new protobuf
Due to updates to protobuf and gcc, make some updates to the build. Namely,
this means using C++17 as required by protobuf and making sure we link to
the system protobuf.

Signed-off-by: Kurt Kiefer <kekiefer@gmail.com>
2024-01-08 09:53:44 -08:00
Chad McQuillen
53daacb12a initrd-flash.sh: ensure substitution for DTB_FILE
- Pre-signed builds need to ensure that DTB_FILE has been substituted
  with the actual kernel .dtb file in initrd-flash.xml.  Unsigned builds
  take a different path through initrd-flash such that the
  tegraXXX-flash-helper will have already made the substitution.

- Fixes #1452

Signed-off-by: Chad McQuillen <chad.mcquillen@lexmark.com>
2024-01-06 05:06:04 -08:00
Kurt Kiefer
1eec81c883 tegra-common: set OLDEST_KERNEL so that glibc will restrict features
As of the nanbield release, OLDEST_KERNEL is set in meta.conf to
version 5.15. This is newer than the version available to us for the
tegra machines in the Jetpack 5 releases. As such, some components
that use this variable (such as glibc) will be build assuming support
for kernel features we don't have.

Override the OLDEST_KERNEL to 5.10, to match the linux-tegra kernel.

Signed-off-by: Kurt Kiefer <kekiefer@gmail.com>
2024-01-06 05:02:53 -08:00
Matt Madison
971f01409b external/virtualization-layer: update container support recipes
This brings container support recipes up to the versions used in
L4T R35.4.1/JetPack 5.1.2.

* Rename libnvidia-container-tools recipe to the more accurate 'libnvidia-container', and
  update to v1.10.0 (with patch consolidiation and refresh)
* Fix the makefiles for libnvidia-container and libnvidia-container-jetson to eliminate
  the build paths that were getting embedded in the RPC files
* Include the full set of DEBUG_PREFIX_MAP flags when building libnvidia-container, which fixes
  more embedded build paths
* Update nvidia-container-toolkit to v1.11.0
* Switch to static linking for nvidia-container-toolkit to work around panic on startup
  in nvidia-ctk
* Hard-code the toolkit configuration to "legacy" mode, which uses the older prestart hook
  method for mapping the paths in the CSV file, until our hacks for the passthrough tree
  and for mapping the Debian/Ubuntu multi-arch library paths to the normal host paths
  get migrated to the Go code in nvidia-container-toolkit.
* Update nvidia-docker to v2.11.0

Signed-off-by: Matt Madison <matt@madison.systems>
2023-12-26 05:36:18 -08:00
Khem Raj
3fd54413c3 weston: Fix build with musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-12-17 08:01:45 -08:00
Khem Raj
cbce07f070 tegra-debian-libraries-common: Add dep on gcompat for musl
gcompat will provide the needed glibc compatibility at runtime
when using musl C library.

Skip rdeps QA check on musl since we know these are prebuilt libs
against glibc and has encoded glibc version in them which makes
it hard to detect runtime deps during build.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-12-17 08:01:45 -08:00
Khem Raj
fdda1d98a3 l4t-graphics-demos: Add missing dep on virtual/libgbm
This helps in linking it correctly when using wayland+x11 distro
features.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-12-17 08:01:45 -08:00
Khem Raj
45bf0e8e98 v4l-utils: Use RTLD_DI_ORIGIN when its available
Musl does not provide it. Therefore ensure its only used when its found
by configure

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-12-17 08:01:45 -08:00
Khem Raj
a8c6bfb8ec optee-nvsamples: Fix build on musl systems
argp implementation is external to musl and needs to link with libargp

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-12-17 08:01:45 -08:00
Matt Madison
e36b91a179 cuda-target-environment: add nvcc/glibc 2.38 workaround
Update the CUDACXXARCHFLAGS environment variable to include
the same glibc 2.38 workaround to SDKs that was added to
cuda.bbclass with 52f994fbb3.

Signed-off-by: Matt Madison <matt@madison.systems>
2023-12-17 07:55:15 -08:00
Matt Madison
2ca310fff3 tegra-configs: update libvulkan SONAME in l4t.csv
to match the actual SONAME of the current version
of the library.

Signed-off-by: Matt Madison <matt@madison.systems>
2023-12-11 05:10:59 -08:00
Matt Madison
d8c3f891b1 vulkan: drop bbappends for vulkan-loader and vulkan-tools
While NVIDIA's Vulkan support really does require OpenGL
and X11 support, modifying the builds of these packages for
the tegra platforms to turn off wayland support causes
other build failures (e.g., gtk4).

Adding bbappends for every other recipe that might try calling
on Vulkan's Wayland APIs isn't practical, so folks will just
have to discover the incompatibility at runtime.

Signed-off-by: Matt Madison <matt@madison.systems>
2023-12-11 04:56:50 -08:00
Matt Madison
3655e0809c tegra-helper-scripts: make-sdcard: fix final-partition handling in A/B flash layouts
Fix the make-sdcard script to turn off its automatic fill-to-end promotion
of the APP partition when it sees both APP and APP_b in the flash layout.
This makes it work better with the stock L4T redundant A/B rootfs layouts
for external (NVMe) drives.

Signed-off-by: Matt Madison <matt@madison.systems>
2023-12-08 04:18:54 -08:00
Ilies CHERGUI
07f08cf209 linux-tegra: fix unexpected operator
Signed-off-by: Ilies CHERGUI <ichergui@nvidia.com>
2023-12-07 07:43:13 -08:00
Dan Walkes
d421bf5cfe edk-firmware-tegra: Support A/B redundancy
When USE_REDUNDANT_FLASH_LAYOUT is specified, add the
.dtbo file to the build which enables RootfsA/B suport
in UEFI based on discussion at [1].

This content of the variable is set based on the corresponding
logic found in nvidia's flash.sh.  The usage for this variable
can be found at [2].

1: https://github.com/OE4T/meta-tegra/discussions/1182#discussioncomment-5067058
2: 71fc2f6de4/Silicon/NVIDIA/Application/L4TLauncher/L4TRootfsValidation.c (L464-L466)

Signed-off-by: Dan Walkes <danwalkes@trellis-logic.com>
2023-12-06 05:36:37 -08:00
Dan Walkes
32fad08d3f conf/machine: Support redundant flash layouts
NVIDIA provides redundant flash layouts with A/B support
for most platforms. This commit adds a parameter
USE_REDUNDANT_FLASH_LAYOUT which uses them instead of the
default non-redundant.

* Add a variable USE_REDUNDANT_FLASH_LAYOUT to control whether
to use the default flash layout or the redundant flash layout
for both internal and external layouts.  The weak override var
USE_REDUNDANT_FLASH_LAYOUT_DEFAULT can be set at the distro
layer to override the default (off) state if desired.
* Build a PARTITION_LAYOUT_TEMPLATE_REDUNDANT variable
which appends the rootfs_ab string to the partition layout file
for all cases other than when PARTITION_LAYOUT_TEMPLATE_DEFAULT_SUPPORTS_REDUNDANT
is set, where PARTITION_LAYOUT_TEMPLATE_DEFAULT_SUPPORTS_REDUNDANT
is set for nano platforms using flash_t234_qspi.xml which already
contains redundant partitions.
* Build a PARTITION_LAYOUT_EXTERNAL_REDUNDANT variable which
appends the rootfs_ab string to the PARTITION_LAYOUT_EXTERNAL file
for all platforms with the exception of orin nano platforms which
 use "flash_l4t_external.xml" by default.
* Add a ROOTFSPART_SIZE_DEFAULT var which sets the default rootfs
partition size for the MACHINE when not using dual redundancy.
* Add a ROOTFSPART_SIZE_REDUNDANT var which divides the
ROOTFSPART_SIZE_DEFAULT by two when USE_REDUNDANT_FLASH_LAYOUT
is specified.

After this commit:
* Custom MACHINE types which need to support multiple flash
layouts for redundancy can name their layouts to match the
NVIDIA syntax, ending with _rootfs_ab, define
PARTITION_LAYOUT_EXTERNAL_DEFAULT as well as
PARTITION_LAYOUT_TEMPLATE_DEAFULT and the
USE_REDUNDANT_FLASH_LAYOUT will function as expected for
these platforms as well to select the appropriate xml files.
* Custom MACHINEs which don't need to support multiple flash
layouts can just define PARTITION_LAYOUT_EXTERNAL and/or
PARTITION_LAYOUT_TEMPLATE as done previously to override
the default assignments for these variables in tegra-common.inc
* Custom MACHINEs which need to specify a custom partition size
can either specify ROOTFSPART_SIZE_DEFAULT to let the size be
set based on USE_REDUNDANT_FLASH_LAYOUT, or set ROOTFSPART_SIZE
to force to a specific size regardless of USE_REDUNDANT_FLASH_LAYOUT

See also https://github.com/OE4T/meta-tegra/wiki/Rendundant-Rootfs-A-B-Partition-Support

Signed-off-by: Dan Walkes <danwalkes@trellis-logic.com>
2023-12-06 05:36:37 -08:00
Ricardo Salveti
ed9c1d25f5 libnvidia-container-tools: rdepend on ldconfig
nvidia-container-cli requires access to the host ldconfig at runtime, so
have it as a runtime dependency explicitly.

Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
2023-12-01 06:44:45 -08:00
Chad McQuillen
fb4c603c50 tegra-uefi-capsule: add TEGRA_UEFI_CAPSULE_SIGNING_EXTRA_DEPS
- The signing server version of the class that signs uefi
  capsules has some task dependencies that must be met.

Signed-off-by: Chad McQuillen <chad.mcquillen@lexmark.com>
2023-11-23 08:20:10 -08:00
Austin Schuh
9beac5b393 Upgrade nsight-systems to 2023.2.4
This aligns with 5.2.1 from https://repo.download.nvidia.com/jetson/#Jetpack%205.1.2

Signed-off-by: Austin Schuh <austin.linux@gmail.com>
2023-11-23 07:14:07 -08:00
Chad McQuillen
cd19895952 uefi: refactor uefi capsule signing
- Move the capsule signing logic to a class in preparation for
  supporting capsule signing via a signing server in a means
  similar to tegra-uefi-signing.

Signed-off-by: Chad McQuillen <chad.mcquillen@lexmark.com>
2023-11-01 12:59:33 -07:00
Samuli Piippo
cf7832e74f Add support for Qt 6
Add separate bbappends for Qt 6 (https://code.qt.io/cgit/yocto/meta-qt6.git).
Enabled EGLFS EglDevice backend plugin to be used with tegra libraries
and add extra CMake arguments to select the preferred backend plugin
based on the preferred gbm provider.

Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
2023-10-24 10:24:18 -07:00
Matt Madison
524bf0c79c Revert "external/openembedded-layer: opencv: disable dnn module"
This reverts commit 35dab0f604.

Commit 225ce6a14a8110ab6b573b4dc9f5297a03d17e0f in meta-oe added in
a patch for opencv that fixes the C++11/C++17 protobuf issue for the
dnn module, so we can put dnn back in the PACKAGECONFIG.

Signed-off-by: Matt Madison <matt@madison.systems>
2023-10-16 08:35:14 -07:00
Chad McQuillen
c4a0fa60e8 meta: refactor uefi-signing
- Encapsulate knowledge of local signing by moving most TEGRA_UEFI_DB_*
  references to tegra-uefi-signing.bbclass.

- All recipes just call the tegra_uefi_* signing functions.

- Recipes that require uefi signing inherit ${TEGRA_UEFI_SIGNING_CLASS}
  which defaults to tegra-uefi-signing.bbclass.  Users can assign
  their own class to override the default uefi signing function
  behavior (to use a signing server, as an example).

- Use weak default assignment for TEGRA_UEFI_SIGNING_CLASS and
  TEGRA_UEFI_USE_SIGNED_FILES in the event they are not defined.

Signed-off-by: Chad McQuillen <chad.mcquillen@lexmark.com>
2023-10-15 04:13:57 -07:00
Matt Madison
5baae4f005 image_types_tegra.bbclass: use EMMC_BCTS variable
rather than constructing its contents in multiple places.

Signed-off-by: Matt Madison <matt@madison.systems>
2023-10-14 05:10:33 -07:00
Chad McQuillen
71ad71748b meta: move definition of EMMC_BCTS
from image_types_tegra.bbclass to tegra-common.inc.  This enables
a future change in the digsigserver signing class to pass this
value in the MANIFEST to the signing server without having to
inherit from image_types_tegra to get this single value.  EMMC_BCT
and EMMC_BCT_OVERRIDES are already defined in machine configuration files
so moving this here for consistency.

Signed-off-by: Chad McQuillen <chad.mcquillen@lexmark.com>
Signed-off-by: Matt Madison <matt@madison.systems>
2023-10-14 04:39:25 -07:00
Matt Madison
d177ac8447 image_types_tegra.bbclass: fix some shell syntax to avoid word-splitting
The version of dash in Ubuntu 20.04 doesn't implicitly quote the output
of a command executed in a $(...) expression. Update the script functions
to avoid using that construct in that way.

Signed-off-by: Matt Madison <matt@madison.systems>
2023-10-08 04:34:45 -07:00
Matt Madison
09049100bb cuda-binaries-common-defs: downgrade error to warning
and default to 'arm64' as the architecture when HOST_ARCH
is set to something unexpected.

Signed-off-by: Matt Madison <matt@madison.systems>
2023-10-07 08:57:34 -07:00
Matt Madison
099a179373 cuda-samples: derive CUDA_VERSION_DASHED from PV
rather than relying on CUDA_VERSION being defined.

Signed-off-by: Matt Madison <matt@madison.systems>
2023-10-07 08:56:46 -07:00
Chad McQuillen
94c2d80d1b meta: make UefiUpdateSecurityKeys optional
* Remove the default copy of UefiUpdateSecurityKeys.dts from
  the tegra-uefi-keys-dtb SRC_URI.  Users wanting to rotate their
  UEFI keys can add that file to the SRC_URI in a bbappend.

* Update the DTB overlay enumeration function in image_types_tegra
  to include the update keys for BUP generation only if the overlay
  is present

Signed-off-by: Chad McQuillen <chad.mcquillen@lexmark.com>
Signed-off-by: Matt Madison <matt@madison.systems
2023-10-07 07:50:55 -07:00
Matt Madison
32ef09079d image_types_tegra.bbclass: fix sed expression for DTB overlays
add missing 'g' that was preventing all commas from getting
translated to spaces.

Signed-off-by: Matt Madison <matt@madison.systems>
2023-10-07 07:36:46 -07:00
Matt Madison
10c917dbb1 image_types_tegra.bbclass: only populate initrd-flash.img in tegraflash packages
Move the copying of the initrd flasher out of the common function,
since it's not needed for BUP payload generation.

Signed-off-by: Matt Madison <matt@madison.systems>
2023-10-07 06:31:31 -07:00
Matt Madison
24fd0c6845 classes: move all bbclass files to classes-recipe
All of our bbclasses are per-recipe, rather than global.

Signed-off-by: Matt Madison <matt@madison.systems>
2023-10-07 03:39:50 -07:00
Matt Madison
7901bed7cf tegra-binaries: move EKS image staging to new recipes
1. Add tegra-eks-image-base recipe to extract the default EKS image
   from the L4T kit.

2. Add tegra-eks-image recipe to install the EKS image into
   ${datadir}/tegraflash for later use in the tegraflash package.
   Users can add a bbappend to install a customized EKS image
   for their targets.

3. Remove the EKS image staging from the tegra-bootfiles recipe.

Signed-off-by: Matt Madison <matt@madison.systems>
2023-10-07 03:39:50 -07:00