Image Size changed in FOTA process of BBB

Hi all,

if i have done the processing and loaded the file through mender steps. loaded that image into the BBB. so at starting time image size was 4GB and its running in the client(BBB).
While doing FOTA process my image size is 16GB so how mender or partition of client will handle a new image.
will it work or i need to do any changes?

jithu@ibot032:~/mender-convert$ MENDER_ARTIFACT_NAME=Nestle_Ver_Gold_1.0.0 ./docker-mender-convert --disk-image input/img_text.IMG --config configs/beaglebone_black_debian_sdcard_config --overlay rootfs_overlay_demo/
Running mender-convert --disk-image input/img_text.IMG --config configs/beaglebone_black_debian_sdcard_config --overlay rootfs_overlay_demo/
Running mender-convert-extract: --disk-image input/img_text.IMG --config configs/beaglebone_black_debian_sdcard_config --overlay rootfs_overlay_demo/
2019-10-25 09:56:05 [INFO] [mender-convert-extract] Using configuration file: configs/mender_convert_config
2019-10-25 09:56:05 [INFO] [mender-convert-extract] Using configuration file: configs/beaglebone_black_debian_sdcard_config
2019-10-25 09:56:05 [INFO] [mender-convert-extract] Validating disk image
2019-10-25 09:56:05 [INFO] [mender-convert-extract] Disk parsed succesfully
2019-10-25 09:56:05 [INFO] [mender-convert-extract] NUMBER OF PARTS: 1 TYPE: dos
2019-10-25 09:56:05 [INFO] [mender-convert-extract] PART 1: SIZE: 14.9G TYPE: 0x83
2019-10-25 09:56:05 [INFO] [mender-convert-extract] PART 1: extracting to work/part-1.fs
2019-10-25 10:04:02 [INFO] [mender-convert-extract] Generating boot partition (required, does not exist in original image)
2019-10-25 10:04:03 [INFO] [mender-convert-modify] Using configuration file: configs/mender_convert_config
Running mender-convert-modify: --disk-image input/img_text.IMG --config configs/beaglebone_black_debian_sdcard_config --overlay rootfs_overlay_demo/
2019-10-25 10:04:03 [INFO] [mender-convert-modify] Using configuration file: configs/beaglebone_black_debian_sdcard_config
2019-10-25 10:04:04 [INFO] [mender-convert-modify] Installing Mender client and related files
2019-10-25 10:04:13 [INFO] [mender-convert-modify] Installing a custom /etc/fstab (see work/convert.log for more info)
2019-10-25 10:04:13 [INFO] [mender-convert-modify] Performing platform specific modifications (if any)
2019-10-25 10:04:13 [INFO] [mender-convert-modify] Applying rootfs overlay: rootfs_overlay_demo/
mender-convert-modify has finished. Cleaning...
Running mender-convert-package: --disk-image input/img_text.IMG --config configs/beaglebone_black_debian_sdcard_config --overlay rootfs_overlay_demo/
2019-10-25 10:04:14 [INFO] [mender-convert-package] Using configuration file: configs/mender_convert_config
2019-10-25 10:04:14 [INFO] [mender-convert-package] Using configuration file: configs/beaglebone_black_debian_sdcard_config
2019-10-25 10:04:22 [WARN] [mender-convert-package] The calculated rootfs partition size 4000 MiB is too small.
2019-10-25 10:04:22 [WARN] [mender-convert-package] The actual rootfs image size is 5418 MiB
2019-10-25 10:04:22 [FATAL] [mender-convert-package] You can try adjusting the MENDER_STORAGE_TOTAL_SIZE_MB variable to increase available space
mender-convert-package has finished. Cleaning...

this error i am getting.

Hi @Anil9860 the storage size is declared in the configs/beaglebone* files using the variable name MENDER_STORAGE_TOTAL_SIZE_MB. For SDCard it defaults to 8192MB and for eMMC it is 3648MB.

Note that eMMC size is limited by your hardware. I’m not sure if there are options of different eMMC sizes or if they are all 3648 which is what my board has.

You can edit those files directly to change the amount of space. Note that number is the total amount of space, accounting for all the partitions. See https://docs.mender.io/2.1/devices/yocto-project/partition-configuration for more details.

Also, you cannot change the partition size in an OTA update. If you need to change the partition sizes, you need to reprovision your board using SDIMG file directly.

HTH,
Drew

1 Like

hi @drewmoseley,

  1. I changed the MENDER_STORAGE_TOTAL_SIZE_MB=“16384” like this, and after that i followed the steps of artifact and took the .mender image and i am trying to deploy by demo server bu getting an error

    2019-10-25 11:27:21 +0000 UTC info: Running Mender version 2.0.1
    2019-10-25 11:27:21 +0000 UTC debug: handle update fetch state
    2019-10-25 11:27:21 +0000 UTC debug: status reported, response 204 No Content
    2019-10-25 11:27:21 +0000 UTC debug: Received fetch update response &{200 OK 200 HTTP/1.1 1 1 map[Connection:[keep-alive] Vary:[Origin] X-Frame-Options:[DENY] Content-Length:[1121155072] Accept-Ranges:[bytes] X-Xss-Protection:[1; mode=block] Content-Type:[application/vnd.mender-artifact] Date:[Fri, 25 Oct 2019 11:27:21 GMT] Content-Security-Policy:[block-all-mixed-content] X-Amz-Request-Id:[15D0E04167E75676] Strict-Transport-Security:[max-age=0; includeSubdomains; preload] X-Content-Type-Options:[nosniff] Server:[openresty/1.13.6.2] Last-Modified:[Fri, 25 Oct 2019 11:25:50 GMT] Etag:[“906b1c07eee525d9ea23a770a433190f”]] 0x100d030 1121155072 [] false false map[] 0x108a900 0x1324d20}+
    2019-10-25 11:27:21 +0000 UTC info: State transition: update-fetch [Download_Enter] -> update-store [Download_Enter]
    2019-10-25 11:27:21 +0000 UTC debug: handle update install state
    2019-10-25 11:27:21 +0000 UTC debug: status reported, response 204 No Content
    2019-10-25 11:27:21 +0000 UTC debug: Read data from device manifest file: device_type=beaglebone-sdcard
    2019-10-25 11:27:21 +0000 UTC debug: Current manifest data: beaglebone-sdcard
    2019-10-25 11:27:21 +0000 UTC info: no public key was provided for authenticating the artifact
    2019-10-25 11:27:21 +0000 UTC debug: checking if device [beaglebone-sdcard] is on compatibile device list: [beaglebone-sdcard]
    2019-10-25 11:27:21 +0000 UTC debug: installer: successfully read artifact [name: Nestle_Ver_Golden_1.0.0; version: 3; compatible devices: [beaglebone-sdcard]]
    2019-10-25 11:27:21 +0000 UTC debug: Trying to install update of size: 5681263104
    2019-10-25 11:27:21 +0000 UTC debug: Inactive partition: /dev/mmcblk0p3
    2019-10-25 11:27:21 +0000 UTC error: update (5681263104 bytes) is larger than the size of device /dev/mmcblk0p3 (4194304000 bytes)
    2019-10-25 11:27:21 +0000 UTC error: Artifact install failed: Payload: can not install Payload: rootfs.img: no space left on device
    2019-10-25 11:27:21 +0000 UTC info: State transition: update-store [Download_Enter] -> cleanup [Error]
    2019-10-25 11:27:21 +0000 UTC debug: transitioning to error state
    2019-10-25 11:27:21 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds
    2019-10-25 11:27:21 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds
    2019-10-25 11:27:21 +0000 UTC debug: Handling Cleanup state
    2019-10-25 11:27:21 +0000 UTC info: State transition: cleanup [Error] -> update-status-report [none]
    2019-10-25 11:27:21 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds
    2019-10-25 11:27:21 +0000 UTC debug: handle update status report state
    2019-10-25 11:27:21 +0000 UTC debug: status reported, response 204 No Content
    2019-10-25 11:27:21 +0000 UTC debug: attempting to upload deployment logs for failed update

can you tell me why its happening?

  1. I can’t change the partition, and how to do the re-provision board using SDIMG file i don’t know.
    can you tell me how to do this?

Anil.

yes i have done successfully after changing the MENDER_STORAGE_TOTAL_SIZE_MB=“16384” on both side. means firstly i changed at client side and then i deployed the FOTA file from demo server. FOTA successfully done.

Thanks @drewmoseley