I am facing a issue while updating my RaspberryPi 3 device. This is from the deployment log -
{“level”:“error”,“message”:“Fetching Artifact headers failed: installer: failed to read Artifact: type_info provides values not yet supported”,“timestamp”:“2020-11-03T21:34:03+05:30”}
The device is a RPi3B running mender client version 2.1.0 with image built using mender-convert earlier.
Tried upgrading to a new image (from a golden image based on Raspberry Pi OS Buster 2020-05-27) built with mender-convert (branch 2.2.0) with default steps mentioned here.
As @kacf mentioned in a similar thread, the flag -no-checksum-provide for mender-artifact tool can help.
But is there a way to specify the -no-checksum-provide flag via mender-convert ? (as I am not using Yocto)
or essentially a way to resolve the above error while using mender-convert ?
Thanks for the link @drewmoseley, that helped !
I created a custom_config file with the --no-checksum-provide flag added -
mender_create_artifact() {
local -r device_type="${1}"
local -r artifact_name="${2}"
local -r image_name="${3}"
mender_artifact=deploy/${image_name}.mender
log_info "Writing Mender artifact to: ${mender_artifact}"
log_info "This can take up to 20 minutes depending on which compression method is used"
run_and_log_cmd "mender-artifact --compression ${MENDER_ARTIFACT_COMPRESSION} \
write rootfs-image \
--file work/rootfs.img \
--output-path ${mender_artifact} \
--artifact-name ${artifact_name} \
--device-type ${device_type} \
--no-checksum-provide"
}
I am not sure but It seems the rootfs_overlay_demo/etc/mender/mender.conf is missing the RootfsPartA and RootfsPartB keys. Current values in rootfs_overlay_demo/etc/mender/mender.conf prepared by mender-convert -
This also seems related to the transient and persistent config split. There are instructions on how to resolve this using yocto but I can’t find steps to resolve this using mender-convert.
Also I am not sure if I should add the above lines manually to the mender.conf files in the first place.
What’s the recommended way to resolve the Dual rootfs configuration not found when resuming update error via mender-convert ?
Hi @gswebspace I’m not sure why that would be needed. The default is to put those settings in /data/mender/mender.conf. Have you added a custom version of that file in your rootfs overlay?
Have you added a custom version of that file in your rootfs overlay?
-> Yes, I updated the generated rootfs_overlay_demo/etc/mender/mender.conf just for an experiment to check if the deployment succeeds by doing that. The error Dual rootfs configuration not found when resuming update happened when the default overlay files were used.
I understand that RootfsPartA, RootfsPartB keys should be finally present in /data/mender/mender.conf. But currently there is no mender.conf file in /data/mender. So while upgrading using mender-convert I am not sure how I add that file in /data.
Should I create a rootfs_overlay_demo/data/mender/mender.conf file ? Will that be written on the data partition while installing the artifact ?
ok so the problem seems to be that the conf file has been split, and the older/running image on the device does not already have the mender.conf in /data/mender. This is because that running image was created via mender-convert and deployed before split config was required.
For compatibility with future updates of mender, /data/mender/mender.conf needs to exist on the existing device.
To achieve that, I can try to create a State script for the state ArtifactInstall whose job would be to create the /data/mender/mender.conf file.
The State script can be added to the artifact via mender-convert as described here.
(For future updates, the State script will not be used)
@drewmoseley@mirzak Do you think this solution can work ? Thoughts on any additional steps that may be required?