Colibri IMX6ULL: Store data into memory card

We have an image of Yocto environment on IMX6ULL board. We want to integrate mender on the same. A part from this we are also thinking to store some data into memory card so that more space could be generated for mender.
Any working solution…?

Thanks

Hello @rs301378,

Thanks for getting in touch! Could you please elaborate a bit on what you envision precisely? Using the SD card as an additional storage device is certainly possible, but it does not directly relate to Mender usually. In most use cases, the SD card is used as an additional persistent form of storage, and as such adding it to the fstab should be no problem.

Greetz,
Josef

Actually we have an image on IMX6ULL board and we want to add mender on this image but we are getting memory related error. So what we are thinking is like to store some of data into memory card then try to add mender on board again. Is there any way to do this?

Hi @rs301378,

sorry, but “getting memory related error” is hardly a helpful error description. Could you please elaborate on your process? Are you using Yocto, or Debian? What is the exact error message? What steps are needed to reproduce it?

It sounds obvious at first, I know, but “just adding an SD card” will not automatically solve problems that are caused by partition layout that does not match the use case and device characteristics.

Greetz,
Josef

So we are using Yocto for image and the error we are getting is:

Hi @rs301378,

Sorry for taking so long. Do you maybe have some numbers concerning both the available storage on your device, like the size of the flash (or just a link to the board?), as well as the size of your non-menderized root filesystem? So we can figure out have the sizes related.

Greetz,
Josef

actually total size of the board is 512mb from which 250mb of space is occupied by our software.

Hi @rs301378!

Okay, I understand. But this will not work the way you intended. Let me explain. In order to to work, the A/B update mechanism of Mender needs 4 storage partitions:

  1. bootloader
  2. partition A
  3. partition B
  4. data partition (persistent)

All of these partitions need to be reliably connected and coherent, so none of those could be moved to a different flash storage than the others. And as both partition A and B need to be able to hold your full system, you are running out of space: 2x 250MB = 500MB, and give some reserved space, plus filesystem overhead and all those things, then this will just not fit.

Possible solutions would be:

  • picking the 1GB version. This is obviously the “easy way out”, and will cost more per piece. However this requires little additional effort, and is probably the most reliable option.
  • ignore the internal flash and boot off SD card completely: Boot From an SD Card / USB Stick / SATA drive. This comes at the cost of reliability, but should also be easy to set up.
  • trimming down the system. Usually you can sqeeze out quite a bit if you really need to. But I absolutely would not recommend that, as this is a long term maintenance nightmare.
  • you can probably rearrange your system and application in a way so you move parts off the system image and into an application update that you deploy to an additional storage device - like a SD card. This is probably the technically most complicated, but cost effective solution that also offers some flexibility.

Whichever you choose depends on a lot of things, most of which are product specific.

Hope that helps,
Josef