Commit Graph

35 Commits

Author SHA1 Message Date
Austin Schuh
0c07ff6ac8 Support zstd compressed tegraflash images
zstd is a lot faster when compressing and decompressing, which helps
with iteration speed.

Use the CONVERSIONTYPES machinery builtin rather than re-implementing it
ourselves here.

Signed-off-by: Austin Schuh <austin.linux@gmail.com>
Signed-off-by: Matt Madison <matt@madison.systems>
2025-02-08 05:41:00 -08:00
Matt Madison
30217c6fc3 meta: switch from virtual/XXX-gcc to virtual/cross-XXX
OE-Core master has udpated how the toolchain virtual providers
are handled, so update the layer accordingly.

This affects the gcc-for-nvcc extra toolchain build we have for
CUDA builds, and a few other recipes that have some explicit
references to the old toolchain virtual/<something> names.

Signed-off-by: Matt Madison <matt@madison.systems>
2025-01-22 06:05:38 -08:00
Pavel Löbl
e65f3be370 espimage: make image size configurable
Signed-off-by: Pavel Löbl <pavel@loebl.cz>
2025-01-19 07:41:42 -08:00
Matt Madison
a42af820e4 image_types_tegra: make the ESP partition optional
With the Jetson minimal UEFI, no application is loaded from the
ESP partition by the bootloader, so allow for the possibility
that someone has removed the ESP from the storage layout.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-11-11 07:06:40 -08:00
Ilies CHERGUI
aa7546af8b meta: update recipes R36.3.0/JetPack 6 -> R36.4.0/JetPack 6.1
Signed-off-by: Ilies CHERGUI <ichergui@nvidia.com>
Signed-off-by: Matt Madison <matt@madison.systems>
2024-10-26 08:15:33 -07:00
jpeeee
9d75f09744 uefi: stage UefiUpdateSecurityKeys.dtbo for use in capsule updates
Install UefiUpdateSecurityKeys.dtbo, if available, to staging directory in tegra-uefi-keys recipe, then
copy it from the staging directory when assembling BUP for capsule update.

Signed-off-by: Jean-Philippe Arnaud <jeanphilippe.arnaud@medtronic.com>
2024-10-08 10:01:52 -07:00
Igor Opaniuk
9de11ba168 tegra-uefi-capsules: remove ESP image dependency for BUP
Remove ESP image dependency for BUP generation. The BUP generation
script doesn't use it, and the only mention of ESP partition is in the list
of boot artifacts to be included into BUP image (bup_type=bl), where
the ESP image is explicitly marked to be skipped.

Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
2024-09-14 03:31:03 -07:00
Zachary T Welch
69145eb661 linux-jammy-nvidia-tegra, image_types_cboot: fix KERNEL_ARGS quoting
This change permits passing kernel command line arguments that include
quoted strings, including dyndbg.  Without single quotes, these
invocations of `mkbootimg` will silently produce incorrect results.

Signed-off-by: Zachary T Welch <zach@aquabyte.ai>
Signed-off-by: Matt Madison <matt@madison.systems>
2024-08-18 04:27:12 -07:00
Matt Madison
814a256f34 l4t_version: move L4T_VERSION to global scope
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>
2024-08-16 13:02:37 -07:00
Khem Raj
bf87a76208 cuda-gcc: Pin runtime type to GCC runtime
When using clang, one could use llvm runtime to provide C/C++ runtime libs
instead, here, since it uses gcc, also use relevant runtime settings

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-07-12 02:51:06 -07:00
Khem Raj
893dfad75e cuda-gcc.bbclass: Define TOOLCHAIN variable
TOOLCHAIN variable is indicative of which compiler toolchain
should be used and for cuda-gcc class its GCC obviously, therefore
make it clear here, this helps in builds when default toolchain is
clang/llvm ( using meta-clang ) and defaulting TOOLCHAIN = "clang"

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-07-12 02:51:06 -07:00
Matt Madison
7c81cf2c9d image_types_tegra.bbclass: use --external-device in doexternal.sh script
Signed-off-by: Matt Madison <matt@madison.systems>
2024-06-16 13:47:30 -07:00
Pavel Löbl
dc2d7526b1 bup: remove extra dependency to ESP
Remove unnecessary dependency between firmware BUP and EFI system partition image.
This creates circular dependency if you want to place your kernel on ESP.
2024-06-08 03:06:36 -07:00
Matt Madison
c0660474e9 meta: remove BOOT_PARTITIONS_ON_EMMC references
The spillover of some boot firmware partitions into
the eMMC was specific to some of the Xavier models,
so we can drop handling of that case.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-31 09:57:00 -07:00
Matt Madison
667e13147a image_types_tegra: update flash package script generation
* Drop obsolete variables that were specific to Xavier models
* Make doscard.sh script dependent on existence of an sdcard
  stanza in the storage layout
* Add doexternal.sh script to allow for off-device population
  of a USB or NVMe drive

Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-31 09:57:00 -07:00
Matt Madison
2e21f8d41c image_types_tegra: update TEGRA_EXT4_OPTIONS
We had been disabling the metadata_csum_seed ext4 attribute
because the cboot ext4 implementation did not support it.
The UEFI ext4 implementation does support it, however, so
we can remove the disablement from TEGRA_EXT4_OPTIONS.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-31 09:57:00 -07:00
Matt Madison
b1da318c6c meta: update L4T_DEB_DEFAULT_VERSION and all L4T sha256 checksums
NVIDIA "refreshed" all the L4T BSP packages for R36.3.0.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-31 09:57:00 -07:00
Matt Madison
30b20fa605 nvidia-kernel-oot: add recipe
to build all of the NVIDIA out-of-tree modules and device trees.

This also removes the old nvidia-display-driver recipe, since the
source for the display drivers is coupled with the other out-of-tree
drivers.

Added patches for fixing:

* driver ordering between nvidia-drm and tegra-drm
* build compatibility with gcc 14

Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-30 12:13:39 -07:00
Matt Madison
617aa8c815 meta: update recipes R35.5.0/JetPack 5 -> R36.3.0/JetPack 6
Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-30 12:13:39 -07:00
Matt Madison
26f6e9401d meta: remove all t194/xavier references
in preparation for the R36.x update, which drops support
for those platforms.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-30 12:13:38 -07:00
Igor Opaniuk
3b28f68df6 tegra-uefi-capsules: include all logic for BUP generation
Drop BUP-specific recipes and move all logic to UEFI capsule
generation recipe, as suggested in [1].

[1] https://github.com/OE4T/meta-tegra/discussions/1492
Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
2024-05-29 12:49:04 -07:00
Igor Opaniuk
ca2f725732 tegra-uefi-capsule-signing.bbclass: use build dir for capsules
Use ${B} for storing generated capsules instead of hacking
with ${DEPLOY_DIR_IMAGE}.

Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
2024-05-29 12:49:04 -07:00
Igor Opaniuk
d239384ba0 image_types_tegra.bbclass: drop bup-payload CONVERSION_CMD
Drop bup-payload image type CONVERSION_CMD, as it's planned to generate
BUP image inside UEFI capsule generation recipes, as suggested in
[1].

[1] https://github.com/OE4T/meta-tegra/discussions/1492
Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
2024-05-29 12:49:04 -07:00
Matt Madison
a9e7e19125 image_types_tegra: add CHIP_SKU environment variable for BUP generation
Signed-off-by: Matt Madison <matt@madison.systems>
2024-04-18 09:36:34 -07:00
Ilies CHERGUI
1de3880341 image_types_tegra.bbclass: create rollback folder for both tegra194 and
tegra234

Signed-off-by: Ilies CHERGUI <ichergui@nvidia.com>
2024-03-17 07:40:13 -07:00
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
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
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
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