Skip to content

Commit

Permalink
jetson/boards: Add swupdate OTA support
Browse files Browse the repository at this point in the history
bitbake yoe-swupdate-image-tegra

Then flash yoe-simple-image using doflash mechanism
once booted

scp yoe-swupdate-image-tegra-p3737-0000-p3701-0005.rootfs.swu to agx

root@p3737-0000-p3701-0005:~# nvbootctrl dump-slots-info
Capsule update status: 0
Current bootloader slot: A
Active bootloader slot: A
num_slots: 2
slot: 0,             status: normal
slot: 1,             status: normal

Apply update
root@p3737-0000-p3701-0005:~# swupdate -i ./yoe-swupdate-image-tegra-p3737-0000-p3701-0005.rootfs.swu

reboot the device and wait for ssh connection to come alive

root@p3737-0000-p3701-0005:~# nvbootctrl dump-slots-info
Current version: 36.3.0
Capsule update status: 1
Current bootloader slot: B
Active bootloader slot: B
num_slots: 2
slot: 0,             status: normal
slot: 1,             status: normal

Notice it has switched to B partition !!

Signed-off-by: Khem Raj <[email protected]>
  • Loading branch information
kraj committed Aug 28, 2024
1 parent 52a64bc commit eebe959
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 3 deletions.
7 changes: 6 additions & 1 deletion conf/projects/jetson-agx-orin-devkit/config.conf
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ LICENSE_FLAGS_ACCEPTED:append = "commercial_ffmpeg"
# Include the tegra_flash components to the image class
IMAGE_CLASSES:append = " image_types_tegra"
IMAGE_FSTYPES:append = " ext4.xz"
IMAGE_FSTYPES:remove = "ext4 tar.gz wic.*"
IMAGE_FSTYPES:remove = "ext4 wic.*"

# Yoe Updater Supported Machines ( RPI, beaglebone, C4, SAMA5D27 for now )
#INITRAMFS_IMAGE_BUNDLE = "1"
Expand All @@ -28,6 +28,11 @@ IMAGE_FSTYPES:remove = "ext4 tar.gz wic.*"
#WKS_FILE:yoe = "yoe-sdimage.wks"
#WKS_FILE:yoe:pn-yoe-installer-image = "yoe-installer.wks.in"

#SWupdate
IMAGE_INSTALL:append = " swupdate"
USE_REDUNDANT_FLASH_LAYOUT = "1"
IMAGE_FSTYPES:append = " tar.gz"

# Use GNU objcopy for kernel with clang
OBJCOPY:pn-linux-tegra:toolchain-clang = "${HOST_PREFIX}objcopy"
OBJCOPY:pn-linux-jammy-nvidia-tegra:toolchain-clang = "${HOST_PREFIX}objcopy"
Expand Down
7 changes: 6 additions & 1 deletion conf/projects/jetson-orin-nano-devkit-nvme/config.conf
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ LICENSE_FLAGS_ACCEPTED:append = "commercial_ffmpeg"
# Include the tegra_flash components to the image class
IMAGE_CLASSES:append = " image_types_tegra"
IMAGE_FSTYPES:append = " ext4.xz"
IMAGE_FSTYPES:remove = "ext4 tar.gz wic.*"
IMAGE_FSTYPES:remove = "ext4 wic.*"

# Yoe Updater Supported Machines ( RPI, beaglebone, C4, SAMA5D27 for now )
#INITRAMFS_IMAGE_BUNDLE = "1"
Expand All @@ -28,6 +28,11 @@ IMAGE_FSTYPES:remove = "ext4 tar.gz wic.*"
#WKS_FILE:yoe = "yoe-sdimage.wks"
#WKS_FILE:yoe:pn-yoe-installer-image = "yoe-installer.wks.in"

#SWupdate
IMAGE_INSTALL:append = " swupdate"
USE_REDUNDANT_FLASH_LAYOUT = "1"
IMAGE_FSTYPES:append = " tar.gz"

# Use GNU objcopy for kernel with clang
OBJCOPY:pn-linux-tegra:toolchain-clang = "${HOST_PREFIX}objcopy"
OBJCOPY:pn-linux-jammy-nvidia-tegra:toolchain-clang = "${HOST_PREFIX}objcopy"
Expand Down
7 changes: 6 additions & 1 deletion conf/projects/jetson-orin-nano-devkit/config.conf
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ LICENSE_FLAGS_ACCEPTED:append = "commercial_ffmpeg"
# Include the tegra_flash components to the image class
IMAGE_CLASSES:append = " image_types_tegra"
IMAGE_FSTYPES:append = " ext4.xz"
IMAGE_FSTYPES:remove = "ext4 tar.gz wic.*"
IMAGE_FSTYPES:remove = "ext4 wic.*"

# Yoe Updater Supported Machines ( RPI, beaglebone, C4, SAMA5D27 for now )
#INITRAMFS_IMAGE_BUNDLE = "1"
Expand All @@ -28,6 +28,11 @@ IMAGE_FSTYPES:remove = "ext4 tar.gz wic.*"
#WKS_FILE:yoe = "yoe-sdimage.wks"
#WKS_FILE:yoe:pn-yoe-installer-image = "yoe-installer.wks.in"

#SWupdate
IMAGE_INSTALL:append = " swupdate"
USE_REDUNDANT_FLASH_LAYOUT = "1"
IMAGE_FSTYPES:append = " tar.gz"

# Use GNU objcopy for kernel with clang
OBJCOPY:pn-linux-tegra:toolchain-clang = "${HOST_PREFIX}objcopy"
OBJCOPY:pn-linux-jammy-nvidia-tegra:toolchain-clang = "${HOST_PREFIX}objcopy"
Expand Down

0 comments on commit eebe959

Please sign in to comment.