OE4T Meeting Notes 2021 06 10 - OE4T/meta-tegra GitHub Wiki

Video:

https://youtu.be/qGXTvvsG3Ww

Attendees:

10

Topics:

L4T 32.6/Jetpack 4.6 Early Access (EA) release schedule/status

  • Matt has added support for extlinux.conf boot support for Xavier on the master branch to assist with bringup on Xavier. This should simplify kernel development on Xavier, can workaround issues with cboot. Matt plans to add a writeup on the wiki.
  • It’s not possible to use extlinux.conf booting with A/B redundancy because the code path in cboot doesn’t account for this.
  • Matt has made significant progress, all platforms are booting with the exception of TX2-NX which hasn’t been attempted yet.
    • Tested with sato image, HDMI monitor and keyboard. Capture camera test with argus CSI camera. Check video encoder/decoder with gstreamer pipelines. Test to make sure the cuda sample program runs properly.
    • Wifi and bluetooth need testing, Ilies has offered to help test if he can get access.
    • Virtualization needs testing, may be blocked on release of a 32.6 L4T Base container at https://ngc.nvidia.com/catalog/containers/nvidia:l4t-base/tags.
      • It’s unclear whether deepstream and l4t base for r32.6 still will use the csv passthrough mechanism for libraries or if the containers need to include r32.6 libraries.
    • Mender update for TX2 c-boot working across r32.4 and r32.6 upgrades.
  • Have found some issues, haven’t found a way to submit yet, working with NVIDIA on this.
    • We discussed whether it would be possible to include NVIDIA engineering team on access to nonpublic git repositories/issues list
    • Ridgerun has used a spreadsheet in the past, it might be possible to link git issues to the spreadsheet for full detail and fixes/workarounds.
    • Dan will follow up with NVIDIA to ask about this.
  • Release didn’t include gstreamer plugin sources, or cboot sources.
    • May be issues with graphics and multimedia until gstreamer plugin source is available.
    • Access to cboot sources are blocking attempts to verify A/B upgrade and mender support on Xavier.
    • Dan will follow-up with NVIDIA.

UEFI and 5.x kernel support branch at https://github.com/OE4T/meta-tegra/tree/wip-gatesgarth-uefi

  • Early UEFI release is based on 32.4.4 l4t, on gatesgarth because it’s the only version with that BSP.
  • Able to boot up into UEFI. Currently using a 5.12.8 kernel which is newer than one in documentation notes.
  • Tegra related fixes were added between kernel versions 5.10 and 5.12. Working on both AGX Xavier and Xavier NX. Can’t make use of Jetpack features, none of the kernel support is there, none of the binary blobs will run.
  • PCIe, Interfaces, Wifi, all looks fine so far.
  • Still uses devicetree to specify layout. ACPI support not quite ready but devicetree is working well.
  • UEFI fits in same partition cboot would. In theory it could be possible to do an A/B upgrade and to test this now, nobody has tried this yet, nor has anyone tried upgrading from existing non-UEFI to UEFI based branches.
    • Dan will follow up with NVIDIA to see if this is something ready to test, or what NVIDIA envisions as the upgrade path from Jetpack 4.6 to Jetpack 5, if this will need to use an OTA reflashing step to repartition.
  • For secureboot we will wait until optee is ready, then will test this as well.
  • Anyone who is interested in evaluating can create a discussion thread for any issues. This branch is meant to be experimental, may not address issues found, will wait instead for NVIDIA to release Jetpack 5.

OTA re-flashing

  • See WIP pull request on https://github.com/OE4T/tegra-demo-distro/pull/113 and discussion at https://github.com/OE4T/tegra-demo-distro/discussions/117
  • Plan to implement in a way which is demonstrable on tegrademo-mender but agnostic regarding update platforms, able to be shared with other platforms.
  • Matt has looked at RAUC recently, and has a branch at https://github.com/madisongh/tegra-test-distro/commits/rauc-d-32.4.3.
    • Uses hawkbit as the server, haven’t tried setting that up yet.
    • Has mechanism for doing delta updates built off of casync. Delta computation done device side instead of precomputing on cloud side.
    • Meta layer for rauc could be added, probably wouldn’t need to be a separate distro like Mender, easier to integrate.
  • SWUpdate should be similar to integrate, couldn’t figure out how to handle non-uboot case in quick look at documentation. Others have figured this out on meta-tegra and may be willing to contribute to a common upgrade implementation.
  • Ideas to improve recovery:
    • Divide into multiple stages.
      • In the first stage try to reduce the interval for recovery failure. Setup a mechanism to reboot back into the installer rather than bricking if reflash did not fully complete. Apply longer operations like new rootfs partition/reflash only after setting this up.
      • tegra-sysinstall should repartition flash, immediately write a bootloader payload, maybe not the final one but one capable of recovery.
      • Write artifacts some place where they persist across reboot. Then proceed with rebooting filesystems, rootfs in place, final bootloader in place.
    • Dan and Atharva will work to define some ideas for OTA recovery for the next month’s meeting.

Next Meeting:

The next meeting will be July 8th at 9AM MDT: https://teamup.com/event/show/id/pus6eH33R7WkF32Kjm5DHFoTRF9GLP