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>
* Add a tegraflash_populate_package function that has the
common code for tegraflash and BUP generation.
* Combine the create_tegraflash_pkg functions that had
been SoC-specific into a single function
Signed-off-by: Matt Madison <matt@madison.systems>
1. Move the staging of storage layout XML files from the L4T kit out
of the tegra-bootfiles recipe to a new pair of recipes, one to
fetch the base files out of the L4T kit, and a second one to
process the base files for use in BUP generation and tegraflash
packages.
2. Move the SoC-specific sed expressions from the tegraflash_create_flash_config
functions in image_types_tegra.bbclass to a function in the new
tegra-storage-layout recipe. These rewrites are for static boot firmware
filenames that are not affected by the build itself, so they can
be applied early.
3. Use fixed names for the staged layout files - internal, bup-internal,
and (optionally) external, to reduce the exposure of the variable, since
only one of each will be used for any build.
This reduces the code size in the bbclass and should make it easier for
users to provide custom layouts in place of the L4T originals.
Signed-off-by: Matt Madison <matt@madison.systems>
The updated flash helper always uses fuselevel_production, so we no
longer need to set fuselevel in the environment.
Signed-off-by: Matt Madison <matt@madison.systems>
While some of the initial discovery/setup logic varies between the t194 and t234
chips, a lot of what the two flash helper scripts do is the same. To simplify
future BSP updates, and prevent the duplicate logic from accidentally getting out
of sync over time, this commit switches to using a single script to support both SoCs:
1. tegra{194,234}-flash-helper.sh merged into tegra-flash-helper.sh
2. image_types_tegra.bbclass updated to reference the new script
3. CHIPID= setting added in appropriate places so the script knows which SoC to expect
4. Eliminate fuselevel variable checking in helper script, since we can only
support production chips anyway
5. New script has uniform 4-space indentation, no hard tabs
Signed-off-by: Matt Madison <matt@madison.systems>
which is now defined in the machine config to enumerate the
boot firmware files, rather than having a duplicate list in
the bbclass.
Signed-off-by: Matt Madison <matt@madison.systems>
to take the list of boot control overlays as arguments rather than
using the TEGRA_BOOTCONTROL_OVERLAYS variable directly, and update
the invocations to use the Python function that adds in the appropriate
overlay for UEFI keys when UEFI secure boot is in use.
Signed-off-by: Matt Madison <matt@madison.systems>
* Stock L4T external flash layouts now use a rewrite
for inserting the size, in sectors of the external
device
* Adjust the boot control overlays when UEFI signing
is enabled so that BUP payloads use the update keys
instead of the default keys
* Add rewrites for flash layout fields added for Orin
industrial modules
* Add firmware new for Orin industrial modules to the
BOOTFILES list
Signed-off-by: Matt Madison <matt@madison.systems>
That's the variable that includes it, while DEBUG_FLAGS gets it
indirectly. So do other variables that might get used with the
older compiler, so removing it from the original source variable
will fix those cases, too.
Signed-off-by: Matt Madison <matt@madison.systems>
to define CUDA_NVCC_FLAGS as a list, since the old-school FindCUDA
module treats that variable as a list.
Signed-off-by: Matt Madison <matt@madison.systems>
* Add flags for pointing to the compatibility/workaround header tree
to CUDA_NVCC_PATH_FLAGS in cuda.bbclass
* Add the dependency on cuda-compatibility-workaround in cuda-gcc.bbclass
Signed-off-by: Matt Madison <matt@madison.systems>
imported from OE-Core hardknott, and rename the
recipes to be 'gcc-for-nvcc' instead of including
a repeat of the major version number.
Signed-off-by: Matt Madison <matt@madison.systems>
OE-Core has reworked how the IMAGE_NAME and IMAGE_NAME_SUFFIX
variables are used - the suffix now gets embedded in IMAGE_NAME.
To account for this, adjust the tegra-specific image bbclasses
to drop ${IMAGE_NAME_SUFFIX} references, and adjust the recipes
for the ESP and initrd images to nullify IMAGE_NAME_SUFFIX, since
we don't really want '.rootfs' in the resultant artifact names
in those cases.
Signed-off-by: Matt Madison <matt@madison.systems>
Unfortunately, we don't have a good way of stripping that flag just
from the nvcc/gcc-8 invocations. For now, at least, just remove it
entirely for all cuda builds.
Signed-off-by: Matt Madison <matt@madison.systems>
to compare the TNSPEC_BOOTDEV value against the per-platform default
value. This improves support for the jetson-orin-nano-devkit-nvme
configuration, using the same flash layout for both normal flashing
and initrd flashing.
Signed-off-by: Matt Madison <matt@madison.systems>
All of the t234 platforms have SPI flash, so remove the conditional logic in
the t234 tegraflash package generator and always create a dosdcard.sh script.
Signed-off-by: Matt Madison <matt@madison.systems>
The ext4 implementation in UEFI can't handle that feature,
and e2fsprogs 1.71 and later enables it by default. Users that
will never make use of L4TLauncher's extlinux.conf support can
override the setting if they need the feature enabled.
Signed-off-by: Matt Madison <matt@madison.systems>
The combined bl + kernel payload is no longer generated; remove
references to that and instead deploy the individual bl_only and
kernel_only payloads. Also update the BUP generator script to
allow the bupgen spec to explicitly name the type of payload to
generate, another feature on R35.3.1.
Signed-off-by: Matt Madison <matt@madison.systems>
to an even multiple of 16 bytes, to avoid padding
with unprintable characters if the file gets signed.
Signed-off-by: Matt Madison <matt@madison.systems>
For implementing the common functions and variables
needed for signing files/binaries validated by the
UEFI bootloader.
Signed-off-by: Matt Madison <matt@madison.systems>
Copy just the overlays enumerated in OVERLAY_DTB_FILE into
the tegraflash package/BUP workspace, and allow for those
files to come from the virtual/dtb provider, just as we do
for plain DTB files.
Also prepare for retirement of the use of OVERLAY_DTB_FILE
as bitbake variable, which was a bit awkward to manage.
Signed-off-by: Matt Madison <matt@madison.systems>
to pass to initrd-flash for Orin NX (and possibly other
future targets) that have no internal storage.
Signed-off-by: Matt Madison <matt@madison.systems>
Make the image dependencies and inclusion of the initrd-flash
image conditional on whether TEGRAFLASH_INITRD_FLASH_IMAGE is
non-null. This allows users to exclude initrd-flash support
from their builds, if desired.
Signed-off-by: Matt Madison <matt@madison.systems>
The NVIDIA signing tools added a pyfdt package, so we need to
clean up the __pycache__ created for that as well as the
top-level one.
Signed-off-by: Matt Madison <matt@madison.systems>
* Support separate internal and external flash layouts
* Unify the post-signing function, which is the same
across the two Soc types, and populate a '.presigning-vars'
file there to be used by the initrd flashing script
* Populate a '.env.initrd-flash' file to set environment
variables needed by the initrd flashing script
Signed-off-by: Matt Madison <matt@madison.systems>
and use a variable to make it easier to customize (or to update it
if NVIDIA changes the default again).
Signed-off-by: Matt Madison <matt@madison.systems>
This adds an L4T_DEB_FEED_SKIP_POOL_APPEND option
that can be enabled to skip appending the
'/pool/group/pkg/etc' suffix to the deb feed for
additional components that are hosted outside of
the L4T deb repos.
Signed-off-by: Ian Stewart <istewart@nvidia.com>
The recent changes to the helper scripts added a check on
'fuselevel' being set for fetching the chip ID from the device,
so we need to make sure that variable is set when creating
an SDcard image.
Signed-off-by: Matt Madison <matt@madison.systems>
The doflash.sh script generated for t234 devices was erroneously
including environment variable settings for BOARDID, FAB, etc.,
bypassing the fuse/EEPROM read logic in the helper script, probably
because the script was broken. Now that the script has been fixed, remove
those settings so the actual values are queried from the device
during flashing.
Signed-off-by: Matt Madison <matt@madison.systems>
Allow the user to replace the standard TEGRA_ESP_IMAGE image by not
depending on the respective do_image_complete task.
The preferred image can be set via IMAGE_TEGRAFLASH_ESPIMG, after
setting TEGRA_ESP_IMAGE to empty.
Signed-off-by: Ricardo Salveti <ricardo@foundries.io>