Skip to content

Commit

Permalink
feat: tegra: refactor and first Jetpack 5 PoC
Browse files Browse the repository at this point in the history
This commit continues the refactoring of meta-mender-tegra
to support both Jetpack 4 and Jetpack 5 enabled boards.
The Jetpack 4 based board have been moved to the
tegrademo-mender distro as provided by the OE4T project.
The AGX Orin board is being added as a PoC-quality
board integration on Jetpack 5

Changelog: Title
Ticket: None

Signed-off-by: Josef Holzmayr <jester@theyoctojester.info>
  • Loading branch information
TheYoctoJester committed Jul 19, 2023
1 parent 1862576 commit 327797d
Show file tree
Hide file tree
Showing 90 changed files with 8,515 additions and 33 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ jobs:
experimental: true
- board: rock-pi-e
experimental: true
- board: jetson-agx-orin-devkit
experimental: true

runs-on: [self-hosted, linux, x64]
container:
Expand Down
32 changes: 32 additions & 0 deletions kas/include/tegra-base.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
header:
version: 11

repos:
meta-tegra:
url: https://github.com/OE4T/meta-tegra.git
meta-tegra-community:
url: https://github.com/OE4T/meta-tegra-community.git
meta-tegrademo:
url: https://github.com/OE4T/tegra-demo-distro.git
layers:
layers/meta-tegra-support:
layers/meta-demo-ci:
layers/meta-tegrademo:

meta-openembedded:
layers:
meta-filesystems:
meta-networking:
meta-python:

meta-virtualization:
url: https://git.yoctoproject.org/meta-virtualization.git

distro: tegrademo

local_conf_header:
tegra: |
# these two classes only work as intended when being inherited in the
# OE4t setup-env.sh style environment, as they modify bblayers.conf
# and expect additional information on the host.
INHERIT:remove = "tegra-support-sanity distro_layer_buildinfo"
29 changes: 29 additions & 0 deletions kas/include/tegra-jetpack4.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
header:
version: 11
includes:
- kas/include/tegra-base.yml

repos:
meta-tegra:
refspec: kirkstone-l4t-r32.7.x
layers:
.:
contrib:
meta-tegra-community:
refspec: kirkstone-l4t-r32.7.x
meta-tegrademo:
refspec: kirkstone-l4t-r32.7.x
meta-virtualization:
refspec: kirkstone

meta-mender-community:
layers:
meta-mender-tegra/meta-mender-tegra-jetpack4:

distro: tegrademo-mender

#local_conf_header:
# tegra-jetpack4: |
# INHERIT:remove = "tegra-support-sanity distro_layer_buildinfo"
# MENDER_FEATURES_ENABLE:append = " mender-growfs-data"
# MENDER_FEATURES_DISABLE:append = " mender-uboot"
28 changes: 28 additions & 0 deletions kas/include/tegra-jetpack5.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
header:
version: 11
includes:
- kas/include/tegra-base.yml

repos:
meta-tegra:
refspec: 2a808b6afb221974196d2eeab3537140ebb63cc7
meta-tegra-community:
refspec: f5a9cf859a1414bc7654fc57c09fb7ee1b116194
meta-tegrademo:
refspec: kirkstone

meta-virtualization:
refspec: b3b3dbc67504e8cd498d6db202ddcf5a9dd26a9d

meta-mender-community:
layers:
meta-mender-tegra/meta-mender-tegra-jetpack5:

local_conf_header:
tegra-jetpack5: |
INHERIT += "tegra-mender-setup"
MENDER_FEATURES_ENABLE:append = " mender-growfs-data"
MENDER_FEATURES_DISABLE:append = " mender-uboot"
IMAGE_FSTYPES:tegra = "tegraflash mender dataimg"
IMAGE_FSTYPES:pn-tegra-minimal-initramfs:tegra = "${INITRAMFS_FSTYPES}"
IMAGE_FSTYPES:pn-tegra-initrd-flash-initramfs:tegra = "${TEGRA_INITRD_FLASH_INITRAMFS_FSTYPES}"
23 changes: 0 additions & 23 deletions kas/include/tegra.yml

This file was deleted.

7 changes: 7 additions & 0 deletions kas/jetson-agx-orin-devkit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
header:
version: 11
includes:
- kas/include/mender-full.yml
- kas/include/tegra-jetpack5.yml

machine: jetson-agx-orin-devkit
2 changes: 1 addition & 1 deletion kas/jetson-agx-xavier-devkit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ header:
includes:
- kas/include/mender-full.yml
- kas/include/poky.yml
- kas/include/tegra.yml
- kas/include/tegra-jetpack4.yml

machine: jetson-agx-xavier-devkit
2 changes: 1 addition & 1 deletion kas/jetson-nano-2gb-devkit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ header:
includes:
- kas/include/mender-full.yml
- kas/include/poky.yml
- kas/include/tegra.yml
- kas/include/tegra-jetpack4.yml

machine: jetson-nano-2gb-devkit
2 changes: 1 addition & 1 deletion kas/jetson-nano-devkit-emmc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ header:
includes:
- kas/include/mender-full.yml
- kas/include/poky.yml
- kas/include/tegra.yml
- kas/include/tegra-jetpack4.yml

machine: jetson-nano-devkit-emmc
2 changes: 1 addition & 1 deletion kas/jetson-nano-devkit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ header:
includes:
- kas/include/mender-full.yml
- kas/include/poky.yml
- kas/include/tegra.yml
- kas/include/tegra-jetpack4.yml

machine: jetson-nano-devkit
2 changes: 1 addition & 1 deletion kas/jetson-tx2-devkit-4gb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ header:
includes:
- kas/include/mender-full.yml
- kas/include/poky.yml
- kas/include/tegra.yml
- kas/include/tegra-jetpack4.yml

machine: jetson-tx2-devkit-4gb
2 changes: 1 addition & 1 deletion kas/jetson-tx2-devkit-tx2i.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ header:
includes:
- kas/include/mender-full.yml
- kas/include/poky.yml
- kas/include/tegra.yml
- kas/include/tegra-jetpack4.yml

machine: jetson-tx2-devkit-tx2i
2 changes: 1 addition & 1 deletion kas/jetson-tx2-devkit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ header:
includes:
- kas/include/mender-full.yml
- kas/include/poky.yml
- kas/include/tegra.yml
- kas/include/tegra-jetpack4.yml

machine: jetson-tx2-devkit
2 changes: 1 addition & 1 deletion kas/jetson-xavier-nx-devkit-emmc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ header:
includes:
- kas/include/mender-full.yml
- kas/include/poky.yml
- kas/include/tegra.yml
- kas/include/tegra-jetpack4.yml

machine: jetson-xavier-nx-devkit-emmc
2 changes: 1 addition & 1 deletion kas/jetson-xavier-nx-devkit-tx2-nx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ header:
includes:
- kas/include/mender-full.yml
- kas/include/poky.yml
- kas/include/tegra.yml
- kas/include/tegra-jetpack4.yml

machine: jetson-xavier-nx-devkit-tx2-nx
2 changes: 1 addition & 1 deletion kas/jetson-xavier-nx-devkit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ header:
includes:
- kas/include/mender-full.yml
- kas/include/poky.yml
- kas/include/tegra.yml
- kas/include/tegra-jetpack4.yml

machine: jetson-xavier-nx-devkit
49 changes: 49 additions & 0 deletions meta-mender-tegra/meta-mender-tegra-jetpack5/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# meta-mender-tegra

Mender integration layer for NVIDIA Tegra hardware.

The supported and tested boards are:

- [Jetson TX2](https://hub.mender.io/t/nvidia-tegra-jetson-tx2/123)
- [Jetson Nano](https://hub.mender.io/t/nvidia-tegra-jetson-nano/1360)
- [Jetson Xavier NX](https://hub.mender.io/t/nvidia-tegra-jetson-xavier-nx/2615)
- [Jetson AGX Xavier](https://hub.mender.io/t/nvidia-tegra-agx-xavier/2616)

Visit the individual board links above for more information on status of the
integration and more detailed instructions on how to build and use images
together with Mender for the mentioned boards.


## Dependencies

This layer depends on:

```
URI: https://github.com/madisongh/meta-tegra.git
layers: meta-tegra
branch: dunfell-l4t-r32.4.3
revision: HEAD
```

```
URI: https://github.com/mendersoftware/meta-mender.git
layers: meta-mender-core
branch: dunfell
revision: HEAD
```


## Quick start

See the mender hub pages and the documentation for the `tegrademo-mender`
distro on the [tegra-demo-distro](https://github.com/OE4T/tegra-demo-distro) repository
for the most up to date instructions on starting out with mender and tegra.

## Acknowlegements

Special thanks to [Matt Madison](https://github.com/madisongh) for his contributions to
support zeus and later branches and his work on meta-tegra which makes this mender
integration possible.

Thanks also to [Kurt Keifer](https://github.com/kekiefer/) for his contributions and
cleanup to support additional platforms and the tegra-demo-distro on the dunfell release.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
inherit image_types_tegra

DATAFILE ?= "${IMAGE_BASENAME}-${MACHINE}.dataimg"
IMAGE_TEGRAFLASH_DATA ?= "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.dataimg"
Loading

0 comments on commit 327797d

Please sign in to comment.