Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Tegra, Jetpack 5: add Jetson as working target #19

Closed
wants to merge 36 commits into from
Closed
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
4a9d3dd
feat: Tegra: refactor into subdirectory
TheYoctoJester Jul 18, 2023
37942c2
feat: tegra: refactor and first Jetpack 5 PoC
TheYoctoJester Jul 19, 2023
b2bd2d6
feat: Tegra: update Jetpack 5 Readme
TheYoctoJester Jul 23, 2023
9f3ce91
fix: Tegra, Jetpack 5: remove deprecated test scripts
TheYoctoJester Jul 23, 2023
46285b7
fix: Tegra, Jetpack 5: remove u-boot
TheYoctoJester Jul 23, 2023
f7c3f5c
fix: Tegra, Jetpack 5: remove init scripts
TheYoctoJester Jul 23, 2023
9fd4476
fix: Tegra, Jetpack5: remove outdated state scripts
TheYoctoJester Jul 23, 2023
41c9613
fix: Tegra, Jetpack5: remove cboot appends
TheYoctoJester Jul 24, 2023
22f8768
fix: Tegra, Jetpack 5: remove deprecated flash layouts
TheYoctoJester Jul 24, 2023
25f4642
fix: Tegra, Jetpack 5: add Jetson as working target
marius-westgaard Feb 6, 2024
936482a
fix: Tegra, Jetpack5: delete duplicated files for Xavier and Orin
Feb 13, 2024
0e3899b
fix: Tegra, Jetpack 5: remove non working capsule update code
Mar 5, 2024
bbac82b
Replace custom mender layout by nVidia redundant layout and ensure UD…
Apr 24, 2024
306237c
Rewrite switch-rootfs using capsule
Apr 24, 2024
ba80236
Add back custom flash cml for xavier
Apr 30, 2024
953415c
Update data partition for tegra234
Apr 30, 2024
dd36d12
Revert to enable reseting unbootable status flag again
May 3, 2024
ac4a4fb
Add rollback support
cakre Apr 29, 2024
d262790
Don't install capsule after rollback
cakre May 2, 2024
104a9be
Add kas files for orin nano
May 2, 2024
297ac29
Add kas for agx xavier and agx orin
May 6, 2024
56199ea
Rewrite switch rootfs for simplicity
itdevops-halodi May 7, 2024
60cd8d3
Add back the rootfs patch
itdevops-halodi May 7, 2024
6894aca
Update edk2-firmware-tegra_%.bbappend to only append rootfs patch whe…
itdevops-halodi May 7, 2024
b5de2d2
Use default redundant layout for AGX Xavier
irodriguez-veridas May 21, 2024
c1644f3
Remove unneeded mender custom layout
irodriguez-veridas May 21, 2024
2e3827a
Extend reserved space required for other nVidia partitions for AGX Xa…
irodriguez-veridas May 28, 2024
6ce5a4f
fix(tegra): remove invalid partitions offsets
maxekman Jun 26, 2024
e9da91a
Fix incorrect data partition number for xavier-nx
cakre Jul 1, 2024
40d143a
Install nv_update_verifier regardless of tegra
cakre Jul 1, 2024
28fe6ed
Do not set different reserved space for jetson-agx-xavier-devkit
Jul 12, 2024
ca61941
Remove 0008-enable-rootfs-redundancy.patch
Jul 13, 2024
8756a1b
Remove files that are no longer needed due upstream fixes
itdevops-halodi Jul 15, 2024
1e73876
Add support for mender 4
cakre Jul 25, 2024
7447ef8
Merge pull request #10 from cakre/mender4-support
mwest90 Jul 26, 2024
4d49299
Add back edk2-firmware-tegra to ensure signle retry
Jul 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
12 changes: 0 additions & 12 deletions meta-mender-tegra/conf/layer.conf

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -42,16 +42,16 @@ for the most up to date instructions on starting out with mender and tegra.

The following configuration files for building using the `kas` tool are provided:

- [jetson-agx-xavier-devkit.yml](../kas/jetson-agx-xavier-devkit.yml)
- [jetson-nano-2gb-devkit.yml](../kas/jetson-nano-2gb-devkit.yml)
- [jetson-nano-devkit-emmc.yml](../kas/jetson-nano-devkit-emmc.yml)
- [jetson-nano-devkit.yml](../kas/jetson-nano-devkit.yml)
- [jetson-tx2-devkit-4gb.yml](../kas/jetson-tx2-devkit-4gb.yml)
- [jetson-tx2-devkit-tx2i.yml](../kas/jetson-tx2-devkit-tx2i.yml)
- [jetson-tx2-devkit.yml](../kas/jetson-tx2-devkit.yml)
- [jetson-xavier-nx-devkit-emmc.yml](../kas/jetson-xavier-nx-devkit-emmc.yml)
- [jetson-xavier-nx-devkit-tx2-nx.yml](../kas/jetson-xavier-nx-devkit-tx2-nx.yml)
- [jetson-xavier-nx-devkit.yml](../kas/jetson-xavier-nx-devkit.yml)
- [jetson-agx-xavier-devkit.yml](../../kas/jetson-agx-xavier-devkit.yml)
- [jetson-nano-2gb-devkit.yml](../../kas/jetson-nano-2gb-devkit.yml)
- [jetson-nano-devkit-emmc.yml](../../kas/jetson-nano-devkit-emmc.yml)
- [jetson-nano-devkit.yml](../../kas/jetson-nano-devkit.yml)
- [jetson-tx2-devkit-4gb.yml](../../kas/jetson-tx2-devkit-4gb.yml)
- [jetson-tx2-devkit-tx2i.yml](../../kas/jetson-tx2-devkit-tx2i.yml)
- [jetson-tx2-devkit.yml](../../kas/jetson-tx2-devkit.yml)
- [jetson-xavier-nx-devkit-emmc.yml](../../kas/jetson-xavier-nx-devkit-emmc.yml)
- [jetson-xavier-nx-devkit-tx2-nx.yml](../../kas/jetson-xavier-nx-devkit-tx2-nx.yml)
- [jetson-xavier-nx-devkit.yml](../../kas/jetson-xavier-nx-devkit.yml)

## Acknowlegements

Expand Down
12 changes: 12 additions & 0 deletions meta-mender-tegra/meta-mender-tegra-jetpack4/conf/layer.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"

BBFILE_COLLECTIONS += "meta-mender-tegra-jetpack4"
BBFILE_PATTERN_meta-mender-tegra-jetpack4 = "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-mender-tegra-jetpack4 = "10"
LAYERVERSION_meta-mender-tegra = "1"
LAYERSERIES_COMPAT_meta-mender-tegra-jetpack4 = "kirkstone"
LAYERDEPENDS_meta-mender-tegra-jetpack4 = "tegra"
52 changes: 52 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,52 @@
# meta-mender-tegra

Mender integration layer for NVIDIA Tegra hardware.

The supported and tested boards are:

- AGX Orin
- AGX Xavier

Visit the individual board links above for more information on status of the
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Contrary to the readme for jetpack 4, this readme does not add links for the boards. So it's probably best to remove this sentence to not cause confusion.

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: kirkstone-l4t-r32.7.x
revision: HEAD
```

```
URI: https://github.com/mendersoftware/meta-mender.git
layers: meta-mender-core
branch: kirkstone
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.

## [`kas`](https://github.com/siemens/kas) configurations

The following configuration files for building using the `kas` tool are provided:

- [jetson-agx-orin-devkit.yml](../../kas/jetson-agx-orin-devkit.yml)

## 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