vdd

vdd synced commits to whinlatter at vdd/meta-swupdate from mirror

  • 0a90734f7f Add support for 2025.12 Signed-off-by: Michael Glembotzki <Michael.Glembotzki@iris-sensing.com>
  • b0253e9cec swupdate classes: fix hash mismatch on master The fix discussed in [2] resolves build issues on styhead but introduces an issue which causes hash mismatches when building without `rm_work`. All builds succeed in generate a working .swu, however any build which modifies the rootfs will fail to deploy. On attempt to deploy, a hash mismatch will be noted like this: ``` [TRACE] : SWUPDATE running : [install_archive_image] : Installing file demo-image-base-jetson-orin-nano-devkit-nvme.rootfs.tar.gz on /tmp/datadst/Pfw8nm//, preserving attributes [WARN ] : SWUPDATE running : [extract] : archive_read_next_header(): Pathname can't be converted from UTF-8 to current locale. for './etc/ssl/certs/NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem': Invalid or incomplete multibyte or wide character [WARN ] : SWUPDATE running : [extract] : archive_read_next_header(): Pathname can't be converted from UTF-8 to current locale. for './usr/share/ca-certificates/mozilla/NetLock_Arany_=Class_Gold=_Főtanúsítvány.crt': Invalid or incomplete multibyte or wide character [ERROR] : SWUPDATE failed [0] ERROR cpio_utils.c : hash_compare : 465 : HASH mismatch : 0f7591f6ffa4aa8e1d919d774974f06d42f184ef5a552f9887201cf3649414da <--> 2497e5b3eaec665ec2ec7db4bb1025d2c92e38c9d8fc22d22aa5e71314f15e6f [ERROR] : SWUPDATE failed [0] ERROR archive_handler.c : install_archive_image : 344 : Error copying extracted file [TRACE] : SWUPDATE running : [install_single_image] : Installer for archive not successful ! [ERROR] : SWUPDATE failed [0] ERROR stream_interface.c : extract_files : 319 : Error streaming demo-image-base-jetson-orin-nano-devkit-nvme.rootfs.tar.gz swupdate_image_write failed: Connection reset by peer [ERROR] : SWUPDATE failed [1] Image invalid or corrupted. Not installing ... [ERROR] : SWUPDATE failed [0] ERROR install_from_file.c : endupdate : 55 : SWUpdate *failed* ! ``` This happens because the sha256 modifications made to files in the S directory only happen once before variables are expanded unless `rm_work` is used to remove the source dir on each build. So anyone using `rm_work` for their builds would not see this issue. The previous logic means there's a single expansion of `$swupdate_get_sha256(` or similar variables, and future builds use the hash previously placed in the file in the S directory which is no longer correct when the rootfs file hash changes. This change: 1. Moves the modified sw-description file to WORKDIR in the function swupdate_expand_bitbake_variables, keeping a copy in S which is unmodified and without exapanded vars. 2. Modifies swupdate_add_artifacts and swupdate_add_src_uri to target WORKDIR instead of S as the copy destination. 3. Modifies swupdate_create_cpio to use WORKDIR for generation of cpio instead of S, since all up to date content and artifacts are stored there. 4. Modifies swupdate_exec_functions to target workdir instead of s, since all exec functions in swupdate-lib.common operate on artifacts which are now in workdir and none require the unmodified sw-description file which is the only content remaining in S. 5. Updates all references to s and workdir in swupdate-common.bbclass to reference the correct directories. The references to s in swupdate-lib.bbclass were not modified, however in all cases the s variable will actually be set to workdir due to the modification to swupdate_exec_functions above. 1: https://groups.google.com/g/swupdate/c/ZrDn9hVCet8/m/4lZhxoFfAgAJ 2: https://groups.google.com/g/swupdate/c/8K-9H7C9o5E/m/a9fqhIOjAAAJ To reproduce this problem before this fix: 1. Turn off rm-work on your builds. 2. Build the swu target at least once. 3. Make some modification to the rootfs. 4. Build the swu target again. 5. Run the swupdate on target. Testing (tested with my_swupdate_image_recipe="swupdate-image-tegra" and machine="jetson-orin-nano-devkit-nvme") 1. Ensure `rm_work` is disabled. 2. Started with `bitbake -c cleanall $my_swupdate_image_recipe` 3. Bitbaked with `bitbake $my_swupdate_image_recipe` 4. Examine the recipe work/$machine*/$my_swupdate_image_recipe/ directory 4a. Verify sources dir contains only sw-description, without any parameter fields (sha256, etc) filed in 4b. Verify base dir (workdir) contains sw-description with all parameter fields filed in 4c. Verify sha256sum on the rootfs file in workdir matches value in sw-description in the workdir. 5. Make a minor change to the image by including another package, for instance in local.conf add `IMAGE_INSTALL:append = " curl"` 6. Bitbaked with `bitbake $my_swupdate_image_recipe` 7. Examine the recipe work/$machine*/$my_swupdate_image_recipe/ directory 7a. Verify timestamp on sources/sw-description file has not changed, still contains variable references. 7b. Verify timestamp on sw-description on base workdir has changed 7c. Verify sha256sum on the rootfs in workdir matches value in sw-description in the workdir. 8. Run swupdate with resulting .swu file on target 8a. Swupdate run succeeds. Signed-off-by: Dan Walkes <danwalkes@trellis-logic.com>
  • cbd0ed50a6 Add the possibility to sign with RSA PSS Add the RSA PSS variant described on SWUpdate's documentation by extending the RSA method. Signed-off-by: Lisandro Perez Meyer <lpmeyer@ics.com>
  • 83751a08e5 luafilesystem swupdate-lualoader: WORKDIR -> UNPACKDIR fix Signed-off-by: Geoff Parker <geoffrey.parker@arthrex.com>
  • d68e1750ba Fix-for-OE.patch: Add "Upstream-Status: Pending" header tag Signed-off-by: Geoff Parker <geoffrey.parker@arthrex.com>
  • View comparison for these 10 commits »

8 hours ago

vdd synced new reference whinlatter to vdd/meta-swupdate from mirror

8 hours ago

vdd synced commits to walnascar at vdd/meta-swupdate from mirror

  • 4e78bedc00 Add support for 2025.12 Signed-off-by: Michael Glembotzki <Michael.Glembotzki@iris-sensing.com>

8 hours ago

vdd synced commits to scarthgap at vdd/meta-swupdate from mirror

  • 2b48267fcf Add support for 2025.12 Signed-off-by: Michael Glembotzki <Michael.Glembotzki@iris-sensing.com>

8 hours ago

vdd synced commits to master at vdd/meta-swupdate from mirror

  • 0a90734f7f Add support for 2025.12 Signed-off-by: Michael Glembotzki <Michael.Glembotzki@iris-sensing.com>

8 hours ago

vdd synced commits to master at vdd/meta-swupdate from mirror

  • b0253e9cec swupdate classes: fix hash mismatch on master The fix discussed in [2] resolves build issues on styhead but introduces an issue which causes hash mismatches when building without `rm_work`. All builds succeed in generate a working .swu, however any build which modifies the rootfs will fail to deploy. On attempt to deploy, a hash mismatch will be noted like this: ``` [TRACE] : SWUPDATE running : [install_archive_image] : Installing file demo-image-base-jetson-orin-nano-devkit-nvme.rootfs.tar.gz on /tmp/datadst/Pfw8nm//, preserving attributes [WARN ] : SWUPDATE running : [extract] : archive_read_next_header(): Pathname can't be converted from UTF-8 to current locale. for './etc/ssl/certs/NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem': Invalid or incomplete multibyte or wide character [WARN ] : SWUPDATE running : [extract] : archive_read_next_header(): Pathname can't be converted from UTF-8 to current locale. for './usr/share/ca-certificates/mozilla/NetLock_Arany_=Class_Gold=_Főtanúsítvány.crt': Invalid or incomplete multibyte or wide character [ERROR] : SWUPDATE failed [0] ERROR cpio_utils.c : hash_compare : 465 : HASH mismatch : 0f7591f6ffa4aa8e1d919d774974f06d42f184ef5a552f9887201cf3649414da <--> 2497e5b3eaec665ec2ec7db4bb1025d2c92e38c9d8fc22d22aa5e71314f15e6f [ERROR] : SWUPDATE failed [0] ERROR archive_handler.c : install_archive_image : 344 : Error copying extracted file [TRACE] : SWUPDATE running : [install_single_image] : Installer for archive not successful ! [ERROR] : SWUPDATE failed [0] ERROR stream_interface.c : extract_files : 319 : Error streaming demo-image-base-jetson-orin-nano-devkit-nvme.rootfs.tar.gz swupdate_image_write failed: Connection reset by peer [ERROR] : SWUPDATE failed [1] Image invalid or corrupted. Not installing ... [ERROR] : SWUPDATE failed [0] ERROR install_from_file.c : endupdate : 55 : SWUpdate *failed* ! ``` This happens because the sha256 modifications made to files in the S directory only happen once before variables are expanded unless `rm_work` is used to remove the source dir on each build. So anyone using `rm_work` for their builds would not see this issue. The previous logic means there's a single expansion of `$swupdate_get_sha256(` or similar variables, and future builds use the hash previously placed in the file in the S directory which is no longer correct when the rootfs file hash changes. This change: 1. Moves the modified sw-description file to WORKDIR in the function swupdate_expand_bitbake_variables, keeping a copy in S which is unmodified and without exapanded vars. 2. Modifies swupdate_add_artifacts and swupdate_add_src_uri to target WORKDIR instead of S as the copy destination. 3. Modifies swupdate_create_cpio to use WORKDIR for generation of cpio instead of S, since all up to date content and artifacts are stored there. 4. Modifies swupdate_exec_functions to target workdir instead of s, since all exec functions in swupdate-lib.common operate on artifacts which are now in workdir and none require the unmodified sw-description file which is the only content remaining in S. 5. Updates all references to s and workdir in swupdate-common.bbclass to reference the correct directories. The references to s in swupdate-lib.bbclass were not modified, however in all cases the s variable will actually be set to workdir due to the modification to swupdate_exec_functions above. 1: https://groups.google.com/g/swupdate/c/ZrDn9hVCet8/m/4lZhxoFfAgAJ 2: https://groups.google.com/g/swupdate/c/8K-9H7C9o5E/m/a9fqhIOjAAAJ To reproduce this problem before this fix: 1. Turn off rm-work on your builds. 2. Build the swu target at least once. 3. Make some modification to the rootfs. 4. Build the swu target again. 5. Run the swupdate on target. Testing (tested with my_swupdate_image_recipe="swupdate-image-tegra" and machine="jetson-orin-nano-devkit-nvme") 1. Ensure `rm_work` is disabled. 2. Started with `bitbake -c cleanall $my_swupdate_image_recipe` 3. Bitbaked with `bitbake $my_swupdate_image_recipe` 4. Examine the recipe work/$machine*/$my_swupdate_image_recipe/ directory 4a. Verify sources dir contains only sw-description, without any parameter fields (sha256, etc) filed in 4b. Verify base dir (workdir) contains sw-description with all parameter fields filed in 4c. Verify sha256sum on the rootfs file in workdir matches value in sw-description in the workdir. 5. Make a minor change to the image by including another package, for instance in local.conf add `IMAGE_INSTALL:append = " curl"` 6. Bitbaked with `bitbake $my_swupdate_image_recipe` 7. Examine the recipe work/$machine*/$my_swupdate_image_recipe/ directory 7a. Verify timestamp on sources/sw-description file has not changed, still contains variable references. 7b. Verify timestamp on sw-description on base workdir has changed 7c. Verify sha256sum on the rootfs in workdir matches value in sw-description in the workdir. 8. Run swupdate with resulting .swu file on target 8a. Swupdate run succeeds. Signed-off-by: Dan Walkes <danwalkes@trellis-logic.com>

4 months ago

vdd synced commits to master at vdd/meta-swupdate from mirror

  • cbd0ed50a6 Add the possibility to sign with RSA PSS Add the RSA PSS variant described on SWUpdate's documentation by extending the RSA method. Signed-off-by: Lisandro Perez Meyer <lpmeyer@ics.com>

4 months ago

vdd synced commits to master at vdd/meta-swupdate from mirror

  • 83751a08e5 luafilesystem swupdate-lualoader: WORKDIR -> UNPACKDIR fix Signed-off-by: Geoff Parker <geoffrey.parker@arthrex.com>

4 months ago

vdd synced commits to master at vdd/meta-swupdate from mirror

  • d68e1750ba Fix-for-OE.patch: Add "Upstream-Status: Pending" header tag Signed-off-by: Geoff Parker <geoffrey.parker@arthrex.com>

4 months ago

vdd created repository vdd/meta-swupdate

4 months ago

vdd pushed to master at vdd/Neptune

2 years ago

vdd pushed to master at vdd/Neptune

2 years ago

vdd pushed to master at vdd/Neptune

2 years ago

vdd created new branch master at vdd/Neptune

2 years ago

vdd created repository vdd/Neptune

2 years ago

vdd pushed to master at vdd/youtube-dl

5 years ago

vdd created new branch master at vdd/youtube-dl

5 years ago

vdd created repository vdd/youtube-dl

5 years ago