Commit Graph

214 Commits

Author SHA1 Message Date
Matt Madison
7c8c20c72c image_types_tegra: add NO_INTERNAL_STORAGE support
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>
2023-02-08 03:14:00 -08:00
Matt Madison
5a80754557 image_types_tegra: pass chip ID to initrd-flash script in environment
Unfortunately, some chip-specific additions are needed in the initrd
flashing script.

Signed-off-by: Matt Madison <matt@madison.systems>
2023-02-08 03:14:00 -08:00
Matt Madison
c12a215210 l4t_deb_pkgfeed: switch x86-64 feed from bionic to focal
Signed-off-by: Matt Madison <matt@madison.systems>
2023-02-08 03:14:00 -08:00
Matt Madison
86f524782d image_types_tegra.bbclass: updates for L4T R35.2.1
Signed-off-by: Matt Madison <matt@madison.systems>
2023-02-08 03:14:00 -08:00
Matt Madison
1bc2aa053d l4t_bsp.bbclass: update for L4T R35.2.1
Signed-off-by: Matt Madison <matt@madison.systems>
2023-02-08 03:14:00 -08:00
Matt Madison
f3f993663d image_types_tegra: make initrd-flash support configurable
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>
2023-01-17 07:56:09 -08:00
Matt Madison
b2dae6c574 image_types_tegra: add support for BUP-specific flash layouts
Signed-off-by: Matt Madison <matt@madison.systems>
2023-01-16 08:49:59 -08:00
Matt Madison
d111128487 image_types_tegra: update __pycache__ cleanup after signing
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>
2022-12-30 03:20:20 -08:00
Matt Madison
40b259e8d8 image_types_tegra: updates for initrd flashing
* 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>
2022-12-30 03:20:20 -08:00
Matt Madison
fac8404660 image_types_tegra: update recovery kernel partition size for R35.1
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>
2022-12-30 03:20:20 -08:00
Ian Stewart
cfaca74dd0 l4t_deb_pkgfeed.bbclass: Add SKIP_POOL_APPEND option
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>
2022-12-28 03:45:27 -08:00
Matt Madison
e754f97f79 image_types_tegra.bbclass: add fuselevel setting to dosdcard.sh
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>
2022-11-10 10:37:18 -08:00
Matt Madison
9f816cabdf image_types_tegra: remove BOARDID/FAB/etc settings for t234 flashing
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>
2022-11-06 07:42:53 -08:00
Ricardo Salveti
1331d6b8d5 image_types_tegra.bbclass: allow TEGRA_ESP_IMAGE to be empty
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>
2022-10-19 03:11:46 -07:00
Kurt Kiefer
80724733a2 image_types_tegra: add support for virtual/dtb provider
This change adds support (adapted from kernel-fitimage handling) for
out-of-tree device tree binary generation. It looks for a provider
of virtual/dtb, and if this exists, enables the copying of device
tree binaries generated by this recipe.

Signed-off-by: Kurt Kiefer <kurt.kiefer@arthrex.com>
2022-09-18 05:33:54 -07:00
Matt Madison
5d634a134d classes: update L4T debian package name/version construction
to simplify JetPack revision updates that change *some* of the
nvidia-l4t-* packages to use an updated time/date stamp, but leave
some with the older time/date stamp.

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-08 09:40:16 -07:00
Kurt Kiefer
88dbea1385 TNSPEC_MACHINE: fix a couple missing subsitutions
Refs d4f946d4c82556c9ca4e421f051adb337346fcd9

Signed-off-by: Kurt Kiefer <kurt.kiefer@arthrex.com>
2022-09-05 13:54:07 -07:00
Matt Madison
f12b72cb0e classes: rename image_types_esp.bbclass to image_types_tegra_esp.bbclass
The 'esp' name was a bit too generic, so renaming should  avoid possible
conflicts with other layers.

Also fix a minor typo in the log output in the mkespfs function.

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
59808261e5 image_types_tegra.bbclass: update for L4T rootfs_AB flash layouts
To enable use of the stock L4T _rootfs_AB.xml layouts, we have to
add replacements for LNXFILE_b, APP_b, and APPUUID_b in the layout
configuration.

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Kurt Kiefer
d64c61fd10 Introduce TNSPEC_MACHINE variable to common machine configuration
This variable is used everywhere the TNSPEC is calculated, instead
of MACHINE. It can be used to set a different machine name for
compatibility with BUP packaging or NVIDIA's bootload tools.

One example of this is NVIDIA's nvbootctrl tool part of the initial
Jetpack 5 release that matches the devkit machine name against the
COMPATIBLE_SPEC string. A custom TNSPEC_MACHINE name can be used
here to satisfy this match (e.g. 'mymachine-jetson-agx-xavier-devkit')
but the actual MACHINE variable can remain as simply 'mymachine'.

Signed-off-by: Kurt Kiefer <kurt.kiefer@arthrex.com>
2022-09-05 13:54:07 -07:00
Matt Madison
54f5ae9ea5 image_types_tegra.bbclass: add mb1_b hack for t194 devices
The L4T flash.sh script makes a copy of the mb1 firmware and
modifies the flash layout to use that for the second MB1FILE
entry for t194 devices. Comments in the script indicate that
this is necessary, so do the same here.

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
0bccd50bf9 image_types_tegra.bbclass: cleanup/fixes from BUP generation testing
* use EMMC_BCT/EMMC_BCT_OVERRIDE variables for the sdram config
  file(s) instead of ${MACHINE}.cfg/${MACHINE}-override.cfg
* add missing mb2 firmware for Orin

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Atharva Nandanwar
f0ea3a5000 container-csv.bbclass: remove the class from layer
- Removing dynamically generated container csv files for nvidia
container passthrough mechanism, as NVIDIA has moved to base l4t.csv
which includes all the container passthrough references

Signed-off-by: Atharva Nandanwar <anandanwar@sighthound.com>
2022-09-05 13:54:07 -07:00
Matt Madison
c122624609 image_types_tegra.bbclass: updates for tools/config file changes
* Now using tegra-flashtools-native
* T234 systems use same naming for the EMMC_BCT file as T194
* Start fixing up BUP payload generation for T234 (not done yet)

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
e02b97ee1f image_types_cboot.bbclass: add t234 support
and update the flashtools dependency.

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
cd0d6f11fb image_types_tegra.bbclass: drop virtual/bootlogo dependency
Boot logos are built into UEFI now, so there is no separate
BMP partition for them.

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
8f051e5b72 image_types_cboot.bbclass: add kernel args to mkbootimg invocation
This was added earlier in the kernel recipe, for handling
bundled initrds; make the corresponding change here for
the non-bundled case.

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
4f3e19f490 meta: move KERNEL_ARGS handling to kernel recipe
With UEFI, the kernel args are extracted from the boot image,
rather than being processed from the device tree, so remove
all the device tree mangling we were doing and instead add
the args to the boot image creation step in the kernel
recipe.

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
58f6e7863c image_types_tegra.bbclass: extend OVERLAY_DTB_FILE to tegra194 targets
The DTB overlayss are now provided by the kernel and UEFI recipes and
put in ${IMAGE_DEPLOY_DIR}, so copy them from there.

Also fix the flashvars handling for tegra234 platforms during BUP
generation.

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
a29f0cb517 meta: drop references to cbootoption and slot_metadata files
as they were specific to cboot and are no longer used.

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
5007b58763 meta: update L4T R34.1.1 -> R35.1.0
Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
aa59c77bf4 meta: update L4T recipes from 34.1.0 to 34.1.1
Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Roberto
6db36ca723 images_types_tegra: Add full support for tegra234 package
Signed-off-by: Roberto <roberto.gutierrez@ridgerun.com>
2022-09-05 13:54:07 -07:00
Roberto
11df4086ad images_types_tegra: Update flash.xml variables for tegra234
Signed-off-by: Roberto <roberto.gutierrez@ridgerun.com>
2022-09-05 13:54:07 -07:00
Matt Madison
3cc2bffb4c image_types_tegra: drop more t186/t210 references, update dependencies
and copy in the ESP image for BUP generation.

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
41bf28279d image_types_cboot: drop t186 references
Not that the conversion type name is still 'cboot' for now,
even though we're not using cboot any more.

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
36e83e8b2d classes: update flashtools references
Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
8a91fb1ff5 meta: rename cboot-extlinux to l4t-launcher-extlinux
Also rename the bbclass and update it to mention the UEFI application.

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
f487a01fc3 classes: add image_types_esp.bbclass
for creating an EFI system partition in the right format.

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
fb089f6012 image_types_tegra: update for R34.1.0
* Drop t210, t186 support
* Replace cboot with UEFI
* Replace trusty with OPTEE
* Other miscellaneous updates

Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
00d03cd685 l4t_bsp.bbclass: update BSP version to 34.1.0
Signed-off-by: Matt Madison <matt@madison.systems>
2022-09-05 13:54:07 -07:00
Matt Madison
4f6a159fb0 meta: update all R32.7.1 recipes to R32.7.2
Signed-off-by: Matt Madison <matt@madison.systems>
2022-05-22 07:54:15 -07:00
Matt Madison
fb72b88cf7 image_types_tegra.bbclass: fix typo, add inherit
Fix a typo which I missed when reviewing the INITRAMFS_LINK_NAME
change, and add an explicit inherit of kernel-artifact-names rather
than relying on the indirect inherit of that class through some
of the other image classes, so that variable is always defined.

Signed-off-by: Matt Madison <matt@madison.systems>
2022-05-15 11:02:23 -07:00
Kevin Vanden Berge
934bbc090f image_types_tegra: use initramfs link name for tegra_kernel_image
This change leverages the INITRAMFS_LINK_NAME to 'dynamically' build
the image name returned from tegra_kernel_image method during tegra_flash
building.

This helps avoid build failures if a custom INITRAMFS_LINK_NAME is used
to generate a bundled kernel and ramdisk image.

By default, INITRAMFS_LINK_NAME expands to

INITRAMFS_LINK_NAME ?= "initramfs-${KERNEL_ARTIFACT_LINK_NAME}"

which would yield:
KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}"

resulting in no change to default behavior.

Signed-off-by: Kevin Vanden Berge <kvandenberge@gmail.com>
2022-05-15 10:44:37 -07:00
Matt Madison
6c89e4b71b meta: update l4t_bsp.bbclass and machine configs for L4T R32.7.1
Signed-off-by: Matt Madison <matt@madison.systems>
2022-03-17 11:09:22 -07:00
Matt Madison
329c3af945 classes: add tegra_opengl_required.bbclass
for use in bbappends where we need to add a check on
opengl in DISTRO_FEATURES for just tegra platforms.

Signed-off-by: Matt Madison <matt@madison.systems>
2022-01-07 07:05:59 -08:00
Matt Madison
d401aee1eb cuda.bbclass: inherit cuda-gcc, update CMake support
* Use CXX_FOR_CUDA to determine the compiler to pass to nvcc
* Add support for setting CMAKE_CUDA_ARCHITECTURES based on
  the CUDA_ARCHITECTURES variable

Signed-off-by: Matt Madison <matt@madison.systems>
2021-12-16 10:04:11 -08:00
Matt Madison
f9881e05d4 classes: add cuda-gcc.bbclass
for redirecting the gcc toolchain used by nvcc (and,
if necessary, directly compiled CC/C++ code) for
compatibility with CUDA.  This class can be inherited
by recipes that need to compile CUDA-compatible code
but do not need the CUDA toolkit dependencies.

The class sets variables CC_FOR_CUDA and CXX_FOR_CUDA.
Recipes needing to use this version of the compiler
must set CC and/or CXX to point to these variables.

Signed-off-by: Matt Madison <matt@madison.systems>
2021-12-16 10:04:11 -08:00
Matt Madison
5e88bf03a6 l4t_bsp.bbclass: add variables for BSP debian packages
to support moving recipes to using the nvidia-l4t-* packages
as sources for BSP content.

Signed-off-by: Matt Madison <matt@madison.systems>
2021-11-16 14:38:57 -08:00
Matt Madison
33fd88b221 cuda.bbclass: update runtime dependency for tegra-libraries split
Signed-off-by: Matt Madison <matt@madison.systems>
2021-10-18 13:16:21 -07:00