Recipes that fetch from the L4T deb package feed
are still 32.5.1, but recipes that use the L4T
BSP tarball are updated.
Signed-off-by: Matt Madison <matt@madison.systems>
Adapted from the bbclass in OE-Core for u-boot, with modifications
for cboot's idiosyncratic and rather crash-prone interpretation of
the extlinux.conf file format.
Signed-off-by: Matt Madison <matt@madison.systems>
to 'fusebypass'. It isn't actually used, so despite the fact
that the rewrite has been around in flash.sh for several L4T
releases, I never noticed.
Signed-off-by: Matt Madison <matt@madison.systems>
The selective copying of tools omits some files that are needed
during the signing steps of BUP generation, causing script failures
when TEGRA_SIGNING_ARGS is non-null, so just copy all of the tools
into the working area for BUP generation.
Signed-off-by: Matt Madison <matt@madison.systems>
The image packagers now depend on virtual/bootlogo to supply a machine-
specific boot logo to be packaged in the different flash tools.
This initial commit creates a bootlogo-prebuilt recipe wich provides
virtual/bootlogo by simply copying over the bmp.blob from tegra-binaries
into the deployment directory.
Signed-off-by: Kurt Kiefer <kurt.kiefer@arthrex.com>
providing both doflash.sh and dosdcard.sh scripts in the tegraflash
bundle, splitting out the kernel/DTB/rootfs partitions onto the
SDcard.
Signed-off-by: Matt Madison <matt@madison.systems>
When doing a fuse burn no flashing happens, so prevent the helper
script from attempting to do anything with the rootfs/data partitions
(if they are even present).
Signed-off-by: Matt Madison <matt@madison.systems>
- extract path parts directly from the downloaded package
name by default, with no digit stripping
- allow for per-package override of the "group" part
via L4T_DEB_GROUP[<name>]
The VPI packages (and possibly others in the future) don't
use a uniform path for VPI's main and -dev packages, unlike
other JetPack components we've seen before. This change fixes
downloads for those packages.
Signed-off-by: Matt Madison <matt@madison.systems>
to automatically set the needed dependency on the initrd image
based on the INITRAMFS_IMAGE_BUNDLE setting, for cboot platforms,
so users don't have to remember to set it manually.
Signed-off-by: Matt Madison <matt@madison.systems>
I missed this in prior testing somehow, but the PATH= being
prepended to the command string in the bitbake fetcher's
unpack method isn't actually doing what we need it to - the
environment only changes for the first command in the string
of commands &&ed together, so the tar wrapper script wasn't
actually getting used.
So yet another workaround here, to set PATH in the environment
from do_unpack().
Signed-off-by: Matt Madison <matt@madison.systems>
Some L4T/JetPack deb packages now use zstd compression,
which is not automatically recognized by GNU tar versions
older than 1.31. Some host OSes (e.g. Ubuntu 18.04) use
an older version, so insert a wrapper to add options for
handling zstd decompression to accommodate.
Signed-off-by: Matt Madison <matt@madison.systems>
to defer the substitution of the bootloader and kernel dtb file names
to the helper script. This is needed now that the two dtb's are
signed/encrypted differently.
Signed-off-by: Matt Madison <matt@madison.systems>
Some of the L4T deb packages use zstd compression on the
embedded tarballs, so make sure it's available during the
do_unpack task.
Signed-off-by: Matt Madison <matt@madison.systems>
* Drop obsolete patch
* Update l4t_bup_gen.func patch and improve its handling of
the different Nano SKUs by using the board ID and SKU numbers,
rather than hard-coding the machine names, and to allow for
building a BUP when no target machines have QSPI flash.
Signed-off-by: Matt Madison <matt@madison.systems>
Simplify support for partition layouts that initialize
partitions beyond the rootfs (APP) and DATA partitions
by adding TEGRA_BUPGEN_STRIP_IMG_NAMES, which can be
set to a space-separated list of filenames used for
the additional partitions.
This prevents the BUP generator's layout parser from
failing when the image files for the additional partitions
are not present.
The function for computing the SRC_URI dereferences that
variable, leading to task signature mismatches between SoCs
even when the actual URI is a common one.
There are only a couple of SoC-specific URIs we use, and
other parts of those URIs vary by SoC, so just exclude
the SOCNAME part of the URI from consideration completely.
Signed-off-by: Matt Madison <matt@madison.systems>
With the necessary rollback config files now being installed
via a new recipe, update the build-time dependencies to use
it.
Signed-off-by: Matt Madison <matt@madison.systems>
to have the KERNEL_ARGS settings replace the /chosen/bootargs
property in the device tree, rather than append to it. This
was done for the other platforms, and for BUP payloads, but
was missed for Xavier tegraflash packaging.
Signed-off-by: Matt Madison <matt@madison.systems>
in tegraflash packages, similar to what is already present
for tegra186 SoCs.
By default, none of the platforms includes a fuse configuration;
users that create a machine configuration that enable secure
boot should add a bbappend to tegra-bootfiles that adds a fuse
configuration file to the SRC_URI and sets ODMFUSE_FILE to
get it included, along with the burnfuses script, in the
tegraflash package. The fuse configuration should be created
using the L4T `odmfuse.sh` script with the `--no-burn` option.
Signed-off-by: Matt Madison <matt@madison.systems>
* URL paths for L4T packages changed again.
* The only JetPack package that changed is tegra-mmapi;
dropped a now-obsolete patch.
* Merged latest NVIDIA changes into the kernel repo via
subtree merge, including additions for Nano-2GB devkit
(which is not yet supported in the layer).
* cboot recipe left at 32.4.3 - no 32.4.4 sources available (yet).
* Slight modifications needed to machine configurations -
EMMC settings file for Nanos has been renamed.
* Patched l4t_bup_gen.func for tegra210 platforms to
skip jetson-nano-qspi-sd entries in the BUP when building
for the other tegra210 machines, since the script
now exits with an error when it can't find a file for
a BUP entry.
* Kernel recipe now points at a new branch, as there
were issues merging in the git subtree updates for
the NVIDIA-specific repos.
**Note** that TX1/Nano flash layout files have changed
in this release - the 'id=' field in the partition
entries are now used to set the partition number
in the GPT. Custom flash layout files should be
changed accordingly.
Signed-off-by: Matt Madison <matt@madison.systems>
The --burnfuses option was removed from tegra186-flash-helper.sh
a couple of releases back; we can use -c "burnfuses <file>" instead.
Signed-off-by: Matt Madison <matt@madison.systems>
Prepend our copy of the CUDA toolkit's bin directory to PATH,
rather than appending, so that build systems that search for
nvcc find our copy first for cross builds.
And for CMake, export CUDACXX to point to our copy of nvcc;
CMake will use that environment variable before looking in
the PATH.
Signed-off-by: Matt Madison <matt@madison.systems>
Fix the quoting used in the cmake toolchain files so that variable references
are interpreted by CMake rather than bitbake, and so that the resultant
value is a list rather than a single space-separated string.
Signed-off-by: Matt Madison <matt@madison.systems>
The list of files in the csf for v4l-utils does not match the list
in /etc/nvidia-container-runtime/host-files-for-container.d/l4t.csv
on a Jetpack 4.4 based stock NVIDIA image. This is problematic
for the libv4l2rds libraries when attempting to install v4l-utils
in a container. The install works fine if the container is running
on an NVIDIA image, but when running on OE4T you see an error
message:
```
unable to make backup link of './usr/lib/aarch64-linux-gnu/libv4l2rds.so.0.0.0' before installing new version: Invalid cross-device link
```
To avoid this, add support for removing container runtime files
in the container-runtime-csv class using a glob pattern, and
use this pattern to avoid placing libv4l2rds in the container
runtime.
to point to the relevant page on the NVIDIA developer website,
which for most packages is either the L4T page or the JetPack
page.
Signed-off-by: Matt Madison <matt@madison.systems>
The dependency on the GPU driver is really in the libraries
provided by the tegra-libraries package, since it applies to
the libEGL_nvidia library as well as the libcuda library.
So move the RRECOMMENDS on the kernel driver to that package,
and drop it from cuda.bbclass.
Signed-off-by: Matt Madison <matt@madison.systems>
Note that a patch is required for meson 0.55 to
fix an issue with identifying CUDA compiler when
cross-building (see #409).
Signed-off-by: Matt Madison <matt@madison.systems>
cuda-toolkit includes the compiler and command-line tools, which
should *not* be required on the target; only the cuda-libraries
packages should be needed for building and running CUDA apps.
However, there are assumptions in the CUDA packages about the way
the CUDA SDK is normally packaged - with host and target files
co-located. In particular, there are host-side header files in
the cuda-nvcc package that need to be available in the target's
include tree so they can be found without explicitly including
the host-side include tree (something that isn't easy to do
when include paths get discovered via pkg-config).
To resolve this, the cuda-nvcc-headers recipe is added, which
packages just the header files from cuda-nvcc. Appropriate
dependencies are added to ensure that those headers are
available when needed.
Also included here are some variable updates to add in
the host-side includes, and some updates to the SDK
environment, particularly for CMake support, so that
it works properly with the new structure.
Signed-off-by: Matt Madison <matt@madison.systems>
- Replaced l4t_bup_gen.func patch with a new, smaller
one to fix a typo
- ALSA configs for Xavier-NX have changed, HDA now works
without having to hack the config file
- BSP sources path back to 'sources' from 'Sources'
Signed-off-by: Matt Madison <matt@madison.systems>
The BUP_generator.py script has a --check option for sanity-checking
that partitions that take a TNSPEC are present for each TNSPEC
mentioned in the paylod. Add that check after generating the
payload.
Signed-off-by: Matt Madison <matt@madison.systems>
Provide a simpler mechanism for populating a data partition
by adding the variables IMAGE_TEGRAFLASH_DATA and DATAFILE.
When set, the data partition's filesystem image will be copied
from ${IMAGE_TEGRAFLASH_DATA} to ${DATAFILE} in the tegraflash
package.
This also uses the new --datafile option in the helper scripts
for handling the additional content appropriately.
Also ran an untabify pass over the entire bbclass, to clean
up some tabs that have wandered in from past commits.
Signed-off-by: Matt Madison <matt@madison.systems>
With more tegraflash packages having to include ext4
filesystem image files, switch to creating a compressed
tarball instead of using zip for packaging.
This has two benefits:
1. Package creation is substantially faster, particularly
when the package includes a raw ext4 image.
2. tar (unlike zip) understands sparse files and will
preserve the sparseness. Since the make-sdcard
script now uses bmaptool if it can, keeping the
ext4 filesystem image as a sparse file improves
write speed substantially.
Signed-off-by: Matt Madison <matt@madison.systems>
In prior L4T releases, version information was extracted
from the /etc/nv_tegra_release file. This is no longer
the case - all platforms now use the bsp_version file.
So we can drop the nv-tegra-release dependency.
Signed-off-by: Matt Madison <matt@madison.systems>
The BUP generator creates multiple payloads, the number of
which varies by platform. Extend the recipes/image types
that currently deploy just the primary combined BL+kernel
payload to deploy the others as well. There may be a good
use case for this, particularly on the Xavier-NX, where
the kernel_only payload could be helpful.
Signed-off-by: Matt Madison <matt@madison.systems>