when installing into the sysroot, instead of fixing the name
based on MACHINE. This allows for the possibility of having
multiple flash layouts apply to a single MACHINE.
Signed-off-by: Matt Madison <matt@madison.systems>
First stage focuses on getting downloads working:
- rename recipes
- update for URI change
- update checksums
- refresh/add patches for native tools
Signed-off-by: Matt Madison <matt@madison.systems>
The tegra210 flash helper takes a 'board config' parameter, and
if we send off binaries to a signing server that makes use of the
flash helper script, we need to provide that file (for TX1 targets,
at least).
Signed-off-by: Matt Madison <matt@madison.systems>
This is mostly cleanup to align with the CUDA language
support that has been in CMake since version 3.8 - setting
the correct environment variables with the correct values
makes CMake's auto-discovery work better, so we can
remove much of the toolchain config file settings that
were there as workarounds.
The settings related to using FindCUDA are kept, for now.
Signed-off-by: Matt Madison <matt@madison.systems>
cboot appears to mangle the initrd at boot time when it
exceeds a couple of MiB in size, but only if it has
been built separately and combined with the kernel using
mkbootimg. This does not happen when the initrd is
built into the kernel directly, so work around the cboot
issue by switching to bundling the initramfs into the
kernel on the non-u-boot platforms.
Signed-off-by: Matt Madison <matt@madison.systems>
* Have packages RDEPEND on csv packages when 'virtualization' is present
in DISTRO_FEATURES
* CSV_CONTAINER_FILES enumerates the files/directories for inclusion
in the CSV file, using glob patterns
* CSV_CONTAINER_EXTRA enumerates additional hard-coded lines in the CSV
It is possible to build the nvgpu driver into the kernel,
instead of leaving it as a separate module, so don't cause
build failures in that case.
Signed-off-by: Matt Madison <matt@madison.systems>
and remove any APPFILE references from the flash config for
BUP payload generation. For some of the platforms, the NV
tools will try to access the files named in the
config file and will fail if they aren't present.
Signed-off-by: Matt Madison <matt@madison.systems>
The LNXSIZE setting in L4T's flash.sh script was
evidently raised from 64MiB to 80 MiB in R32.3.1,
so update our setting to match.
Signed-off-by: Matt Madison <matt@madison.systems>
As different board versions may use different device trees.
Currently this only happens on tegra210 platforms.
Signed-off-by: Matt Madison <matt@madison.systems>
A single BUP payload can have multiple copies of boot files
for different revisions of a SoM, so to support proper updates,
a pre-built payload should support all SoM revisions that might
be present.
Signed-off-by: Matt Madison <matt@madison.systems>
Added settings:
TEGRA_SIGNING_EXCLUDE_TOOLS: when set to "1", the host-side
tools will not be copied into the working directory for signing,
to reduce the size of the package sent to the code signing server.
A signing server shouldn't be executing scripts or programs sent
to it anyway.
TEGRA_SIGNING_EXTRA_DEPS: for including additional dependencies
that might be required by the code signing client.
Signed-off-by: Matt Madison <matt@madison.systems>
* Pull in needed tools from the L4T kit
* Revise the flash helper script handle BUP payloads
* Single function in image_types_tegra.bbclass to build
BUP payloads for all platforms
Signed-off-by: Matt Madison <matt@madison.systems>
- tegra186-redundant-boot -> tegra-redundant-boot
since we now include support for tegra210
- move the creation the nv_boot_control.conf file
to a separate recipe
Signed-off-by: Matt Madison <matt@madison.systems>
- Defer DTBFILE processing until flashing time, since
there are multiple board versions for Nano
- Have the helper script emit the board ID, version,
and SKU settings to use with the dosdcard.sh script,
to make it easier to create an SDcard without putting
the device back into recovery mode.
Signed-off-by: Matt Madison <matt@madison.systems>
With L4T R32.3.1, NVIDIA replaced their SDcard image
generation script, which had hard-coded partition info
in it, with a pair of scripts that parse the partition
info from the XML layout file and generate the image
from that data.
We'll follow suit here, and instead of generating the
SDcard image directly during the bitbake build, the
tegraflash package for Nano devices now includes both
a doflash.sh script and a dosdcard.sh script. The
doflash.sh script still flashes the boot partitions
stored in the SPI flash on the module; the dosdcard.sh
script is used to generate either an SDcard image, or
can be used to image an SDcard device directly.
Signed-off-by: Matt Madison <matt@madison.systems>
so it does not exit early for non-SPIFLASH platforms. The
early exit prevents others from adding an _append that works
for TX1 platforms.
Signed-off-by: Matt Madison <matt@madison.systems>
fdtput -d reports an error if the property being deleted
doesn't exist, so when we're deleting /chosen/bootargs,
make sure it's present before trying to delete it.
Also use `cp -L` when copying in the DTB file for
changes, just to make sure that we're working on an
actual local copy and not copying a symlink to another
file.
Signed-off-by: Matt Madison <matt@madison.systems>
Similar to what was done for cboot, break the extraction of
the TOS image from the BSP out to a separate recipe, to allow
for the possibility of building one from source instead.
For now, the preferred copy is the prebuilt one from the
BSP.
Signed-off-by: Matt Madison <matt@madison.systems>
Note that the kernel and U-Boot branch names show
"32.2.2" instead of "32.2.3," but this corresponds
to the latest branches in NVIDIA's repositories.
The BSP update appears to be the ony change from
JetPack 4.2.2 to JetPack 4.2.3.
Signed-off-by: Matt Madison <matt@madison.systems>
For Jetson TX2, the default configuration uses cboot to load
U-Boot. Script doflash.sh requires cboot.bin. If it is not
present the scripts fails with:
Error: Return value 4
This fix ensures that task do_deploy of cboot will be executed
and cboot.bin will be present even if U-Boot has been selected
as a bootloader.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Add functions for signing the tegraflash package and for
signing BUP packages. If TEGRA_SIGNING_ARGS is defined,
the signing functions will run the scripts with the
additional arguments (which should be -u <file> for the
PKC key, -v <file> for the SBK key) to generate the
signed files.
Alternatively, the signing functions can be overridden
in another layer to send the files to a code signing
server.
If TEGRA_SIGNING_ARGS is not defined, no signing will
be performed for tegraflash packages; the -u/-v options
can be specified when invoking doflash.sh to have the
images signed during flashing. (BUP packages will be
signed with the all-zeros key.)
Signed-off-by: Matt Madison <matt@madison.systems>
Some of the secure boot tools assume that everything resides
in the same directory. Since that can't easily be fixed or
worked around, remove the subdirectory we used to create to
put the tools in, and just glom everything together.
Signed-off-by: Matt Madison <matt@madison.systems>
Make it easier to add other partitions to the SDcard image for
Nano platforms by allowing the filename field in the sdcard-layout
file to be either null or '/dev/zero'. When the filename is not
specified, nothing will be written to the partition; if /dev/zero
is specified, the dd command will get a count= argument to
fill the partition with zeroes.
(for #188)
Signed-off-by: Matt Madison <matt@madison.systems>
Add kernel-module-nvgpu to CUDA run-time dependencies. Without
it CUDA 10 is not properly working and CUDA-capable devices are
NOT detected.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
cmake 3.8 and later have built-in language support for CUDA,
replacing the FindCUDA package finder. Add settings to support
this for Tegra cross-compilation.
[For #83 and #138]
Signed-off-by: Matt Madison <matt@madison.systems>
- only set bootargs in the devicetree if using cboot
instead of U-Boot, since U-Boot's extlinux.conf will
add them
- apply the same fix for BUP generation
Signed-off-by: Matt Madison <matt@madison.systems>
and trim off any fetcher parameters from them before
trying to match them in the file-checksums list.
Signed-off-by: Matt Madison <matt@madison.systems>
The jetson-nano tegraflash package now flashes *only*
the QSPI boot flash. This should only need to be done
once, unless there is a BSP update.
The rootfs, U-boot, etc. get placed in an SDcard image
that should be copied onto a suitable SDcard and inserted
into the nano for booting. The full SDcard image only needs
to be copied if there is a BSP update or you update U-Boot.
The ext4 rootfs image can be copied onto partition 1 of the
SDcard if you are only updating the kernel and/or the rootfs.
Signed-off-by: Matt Madison <matt@madison.systems>
- switch to using the tegra210-flash-helper script
- setup for the flashed version file
- add in some new boot binaries
Signed-off-by: Matt Madison <matt@madison.systems>