Commit Graph

227 Commits

Author SHA1 Message Date
Matt Madison
8dfb2d6be7 cuda.bbclass: strip -fcanon-prefix-map from DEBUG_FLAGS for cuda builds
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>
2023-05-27 07:17:46 -07:00
Joost Baars
c2a3481a4d Added support for the Jetson AGX Xavier Industrial variant
Signed-off-by: Joost Baars <joost.baars@prodrive-technologies.com>
2023-05-27 04:28:13 -07:00
Matt Madison
6ebddcb75e l4t_bsp.bbclass: add L4T_OVERLAY_URI_BASE variable
which does not add the '/release' subdirectory to the path.

Signed-off-by: Matt Madison <matt@madison.systems>
2023-05-05 05:48:44 -07:00
Matt Madison
df97cf1ef9 image_types_tegra: update TEGRAFLASH_ROOTFS_EXTERNAL setting
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>
2023-04-09 07:48:19 -07:00
Matt Madison
acd3a40a34 image_types_tegra.bbclass: add dosdcard.sh script to t234 tegraflash packages
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>
2023-04-09 04:23:07 -07:00
Matt Madison
b28462f16d image_types_tegra: disable metadata_csum_seed for ext4 by default
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>
2023-04-09 04:23:07 -07:00
Matt Madison
cb3fb1dec0 meta: updates for BUP generation changes in R35.3.1
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>
2023-04-09 04:23:07 -07:00
Matt Madison
07a46ecca4 meta: update recipe names and checksums for L4T R35.3.1/JP5.1.1
Signed-off-by: Matt Madison <matt@madison.systems>
2023-04-09 04:23:07 -07:00
Matt Madison
202af166e4 image_types_tegra: update for UEFI signing
* Package signed kernel DTB files
* Add UefiDefaultSecurityKeys overlay when signing is enabled

Signed-off-by: Matt Madison <matt@madison.systems>
2023-02-08 03:14:00 -08:00
Matt Madison
66cb7f5032 l4t-extlinux-config: pad extlinux.conf file
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>
2023-02-08 03:14:00 -08:00
Matt Madison
a9d1a6847e image_types_cboot: support UEFI signing
Signed-off-by: Matt Madison <matt@madison.systems>
2023-02-08 03:14:00 -08:00
Matt Madison
2134e512c1 classes: add tegra-uefi-signing.bbclass
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>
2023-02-08 03:14:00 -08:00
Matt Madison
c3a340d41e image_types_tegra.bbclass: clean up DTB overlay copies
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>
2023-02-08 03:14:00 -08:00
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