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>
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>
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>
- 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>
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>
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>
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>
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>
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>
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>
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>
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>
- 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>
- 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>
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>
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>
- 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>
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>
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>
* 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
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>
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>