# Imx6ull NAND Flash

**URL:** <https://hub.mender.io/t/imx6ull-nand-flash/1451>\
**Category:** General Discussions\
**Tags:** sumo\
**Created:** [January 20, 2020, 11:48am UTC](https://hub.mender.io/t/imx6ull-nand-flash/1451 "2020-01-20T11:48:26Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![deepanr](https://avatars.discourse-cdn.com/v4/letter/d/e47c2d/32.png) [@deepanr](https://hub.mender.io/u/deepanr)\
**Post date:** [January 21, 2020, 5:57am UTC](https://hub.mender.io/t/imx6ull-nand-flash/1451/3 "2020-01-21T05:57:20Z")

</div>

Hi @drewmoseley

Actually i have not done any changes in Uboot. Please find my integration below

# Partitions

MENDER\_STORAGE\_DEVICE = “/dev/mmcblk0”  
MENDER\_STORAGE\_DEVICE\_BASE = “/dev/mmcblk0p”  
MENDER\_STORAGE\_TOTAL\_SIZE\_MB = “512”  
MENDER\_BOOT\_PART\_SIZE\_MB = “0”  
MENDER\_DATA\_PART\_SIZE\_MB = “10”  
MENDER\_ROOTFS\_PART\_A = “{MENDER\_STORAGE\_DEVICE\_BASE}1" MENDER\_ROOTFS\_PART\_B = "{MENDER\_STORAGE\_DEVICE\_BASE}2”  
MENDER\_DATA\_PART = “${MENDER\_STORAGE\_DEVICE\_BASE}3”

# For rootfs size

#IMAGE\_ROOTFS\_SIZE=“200000”

# Environment

MENDER\_UBOOT\_ENV\_STORAGE\_DEVICE\_OFFSET\_1 = “0x2000”

# Redundant environment

MENDER\_UBOOT\_ENV\_STORAGE\_DEVICE\_OFFSET\_2 = “0x4000”  
BOOTENV\_SIZE = “0x2000”

# align to PEB size 128k

MENDER\_PARTITION\_ALIGNMENT ?= “128”

# there is no partitioning overhead (no MBR and such)

MENDER\_PARTITIONING\_OVERHEAD ?= “0”

# Account for UBI overhead, see

# [http://www.linux-mtd.infradead.org/doc/ubi.html#L\_overhead](http://www.linux-mtd.infradead.org/doc/ubi.html#L_overhead) for details,

MENDER\_RESERVED\_SPACE\_BOOTLOADER\_DATA ?= “20971520”  
IMAGE\_ROOTFS\_MAXSIZE ?= “307200”

After which when bitbake command is given we get the below error

bb.data\_smart.ExpansionError: Failure expanding variable MENDER\_IS\_ON\_MTDID, expression was ${@mender\_default\_mender\_mtdid(d)} which triggered exception BBHandledException:

So MENDER\_IS\_ON\_MTDID is not set. with reference to [https://docs.mender.io/2.2/devices/yocto-project/raw-flash](https://docs.mender.io/2.2/devices/yocto-project/raw-flash)

tried setting  
MENDER\_MTDIDS = “nand1=60000000.flash”  
MENDER\_IS\_ON\_MTDID = “60000000.flash”

After which we are getting the below error

ERROR: u-boot-imx-2018.03-r0 do\_check\_mender\_defines: U-Boot configuration mx6ull\_14x14\_evk\_optee\_config has setting:  
CONFIG\_MTDIDS\_DEFAULT=""  
but Mender expects:  
CONFIG\_MTDIDS\_DEFAULT=“nand0=60000000.flash”  
Please fix U-Boot’s configuration file.

After adding these changes  
MENDER\_MTDIDS = “nand0=01806000.flash”  
MENDER\_IS\_ON\_MTDID = “01806000.flash”  
MENDER\_MTDPARTS = “gpmi-nand:10m(boot),8m(kernel),1m(dtb),-(rootfs)\0”

we are getting the below error

WARNING: Host distribution “ubuntu-18.04” has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.  
Loading cache: 100% |####################################################################################################################################################| Time: 0:00:00  
Loaded 16 entries from dependency cache.  
WARNING: /home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-sdk/dynamic-layers/qt5-layer/recipes-fsl/images/fsl-image-qt5-validation-imx.bb: Could not find MENDER\_IS\_ON\_MTDID (01806000.flash) in MENDER\_MTDPARTS (gpmi-nand:10m(boot),8m(kernel),1m(dtb),-(rootfs)\0). Returning UBI size of zero.  
WARNING: /home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-sdk/dynamic-layers/qt5-layer/recipes-fsl/images/fsl-image-qt5-validation-imx.bb: Could not find MENDER\_IS\_ON\_MTDID (01806000.flash) in MENDER\_MTDPARTS (gpmi-nand:10m(boot),8m(kernel),1m(dtb),-(rootfs)\0). Returning UBI size of zero.  
WARNING: /home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-sdk/dynamic-layers/qt5-layer/recipes-fsl/images/fsl-image-qt5.bb: Could not find MENDER\_IS\_ON\_MTDID (01806000.flash) in MENDER\_MTDPARTS (gpmi-nand:10m(boot),8m(kernel),1m(dtb),-(rootfs)\0). Returning UBI size of zero.  
WARNING: /home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-sdk/dynamic-layers/qt5-layer/recipes-fsl/images/fsl-image-qt5.bb: Could not find MENDER\_IS\_ON\_MTDID (01806000.flash) in MENDER\_MTDPARTS (gpmi-nand:10m(boot),8m(kernel),1m(dtb),-(rootfs)\0). Returning UBI size of zero.  
WARNING: /home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-sdk/dynamic-layers/qt5-layer/recipes-fsl/images/fsl-image-qt5-validation-imx.bb: Could not find MENDER\_IS\_ON\_MTDID (01806000.flash) in MENDER\_MTDPARTS (gpmi-nand:10m(boot),8m(kernel),1m(dtb),-(rootfs)\0). Returning UBI size of zero.  
WARNING: /home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-sdk/dynamic-layers/qt5-layer/recipes-fsl/images/fsl-image-qt5.bb: Could not find MENDER\_IS\_ON\_MTDID (01806000.flash) in MENDER\_MTDPARTS (gpmi-nand:10m(boot),8m(kernel),1m(dtb),-(rootfs)\0). Returning UBI size of zero.  
WARNING: /home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-sdk/dynamic-layers/qt5-layer/recipes-fsl/images/fsl-image-qt5-validation-imx.bb: Could not find MENDER\_IS\_ON\_MTDID (01806000.flash) in MENDER\_MTDPARTS (gpmi-nand:10m(boot),8m(kernel),1m(dtb),-(rootfs)\0). Returning UBI size of zero.  
WARNING: /home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-sdk/dynamic-layers/qt5-layer/recipes-fsl/images/fsl-image-qt5.bb: Could not find MENDER\_IS\_ON\_MTDID (01806000.flash) in MENDER\_MTDPARTS (gpmi-nand:10m(boot),8m(kernel),1m(dtb),-(rootfs)\0). Returning UBI size of zero.  
WARNING: /home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-sdk/dynamic-layers/qt5-layer/recipes-fsl/images/fsl-image-qt5-validation-imx.bb: Could not find MENDER\_IS\_ON\_MTDID (01806000.flash) in MENDER\_MTDPARTS (gpmi-nand:10m(boot),8m(kernel),1m(dtb),-(rootfs)\0). Returning UBI size of zero.  
WARNING: /home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-sdk/dynamic-layers/qt5-layer/recipes-fsl/images/fsl-image-qt5.bb: Could not find MENDER\_IS\_ON\_MTDID (01806000.flash) in MENDER\_MTDPARTS (gpmi-nand:10m(boot),8m(kernel),1m(dtb),-(rootfs)\0). Returning UBI size of zero.  
WARNING: /home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-sdk/dynamic-layers/qt5-layer/recipes-fsl/images/fsl-image-qt5.bb: Could not find MENDER\_IS\_ON\_MTDID (01806000.flash) in MENDER\_MTDPARTS (gpmi-nand:10m(boot),8m(kernel),1m(dtb),-(rootfs)\0). Returning UBI size of zero.  
WARNING: /home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-sdk/dynamic-layers/qt5-layer/recipes-fsl/images/fsl-image-qt5-validation-imx.bb: Could not find MENDER\_IS\_ON\_MTDID (01806000.flash) in MENDER\_MTDPARTS (gpmi-nand:10m(boot),8m(kernel),1m(dtb),-(rootfs)\0). Returning UBI size of zero.  
ERROR: ExpansionError during parsing /home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-sdk/dynamic-layers/qt5-layer/recipes-fsl/images/fsl-image-qt5-validation-imx.bb  
Traceback (most recent call last):  
File “/home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/poky/meta/classes/image.bbclass”, line 454, in \__anon\_519\_\_home\_keshavab\_PROJECTS\_OBD\_Latest\_Porting\_mender\_imx\_yocto\_bsp\_sources\_poky\_meta\_classes\_image\_bbclass(d=\<bb.data\_smart.DataSmart object at 0x7fa1c3f3f898\>):  
image\_cmd = localdata.getVar(“IMAGE\_CMD”)  
\> vardeps.add('IMAGE\_CMD_’ + realt)  
if image\_cmd:  
File “/home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/poky/bitbake/lib/bb/data\_smart.py”, line 608, in DataSmart.getVar(var=‘IMAGE\_CMD’, expand=True, noweakdefault=False, parsing=False):  
def getVar(self, var, expand=True, noweakdefault=False, parsing=False):  
\> return self.getVarFlag(var, “\_content”, expand, noweakdefault, parsing)

File “/home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/poky/bitbake/lib/bb/data\_smart.py”, line 794, in DataSmart.getVarFlag(var=‘IMAGE\_CMD’, flag=’\_content’, expand=True, noweakdefault=False, parsing=False):  
cachename = var + “[” + flag + “]”  
\> value = self.expand(value, cachename)

File “/home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/poky/bitbake/lib/bb/data\_smart.py”, line 436, in DataSmart.expand(s=’ set -ex\n\n # We don’t actually use the result from this one, it’s only to trigger a\n # warning or error if the variable is not correctly set.\n mender\_get\_mtdparts\n\n ${@mender\_make\_mtdparts\_shell\_array(d)}\n\n local remaining\_encountered=0\n local i=0\n while [$i -lt $mtd\_count]; do\n eval local name="\"\$mtd\_names\_$i\""\n eval local size="\"\$mtd\_sizes\_$i\""\n eval local kbsize="\"\$mtd\_kbsizes\_$i\""\n eval local kboffset="\"\$mtd\_kboffsets\_$i\""\n\n if [“name" = "u-boot"]; then\n if [-n "{MENDER\_IMAGE\_BOOTLOADER\_FILE}”]; then\n mender\_flash\_mtdpart “{DEPLOY\_DIR\_IMAGE}/{MENDER\_IMAGE\_BOOTLOADER\_FILE}” $size $kbsize $kboffset $name\n else\n bbwarn “There is a ‘u-boot’ mtdpart, but MENDER\_IMAGE\_BOOTLOADER\_FILE is undefined. Filling with zeros.”\n mender\_flash\_mtdpart “/dev/zero” $size $kbsize $kboffset $name\n fi\n elif [“name" = "u-boot-env"]; then\n mender\_flash\_mtdpart "{DEPLOY\_DIR\_IMAGE}/uboot.env” $size $kbsize $kboffset $name\n elif [“name" = "ubi"]; then\n mender\_flash\_mtdpart "{IMGDEPLOYDIR}/${IMAGE\_LINK\_NAME}.ubimg” $size $kbsize $kboffset $name\n else\n bbwarn “Don’t know how to flash mtdparts ‘$name’. Filling with zeros.”\n mender\_flash\_mtdpart “/dev/zero” $size $kbsize $kboffset name\n fi\n\n i=(expr i + 1)\n done\n\n ln -sfn "{IMAGE\_NAME}.mtdimg" “{IMGDEPLOYDIR}/{IMAGE\_LINK\_NAME}.mtdimg”\n’, varname=‘IMAGE\_CMD’):  
def expand(self, s, varname = None):  
\> return self.expandWithRefs(s, varname).value

File “/home/keshavab/PROJECTS/OBD/Latest\_Porting/mender/imx-yocto-bsp/sources/poky/bitbake/lib/bb/data\_smart.py”, line 426, in DataSmart.expandWithRefs(s=’ set -ex\n\n # We don’t actually use the result from this one, it’s only to trigger a\n # warning or error if the variable is not correctly set.\n mender\_get\_mtdparts\n\n ${@mender\_make\_mtdparts\_shell\_array(d)}\n\n local remaining\_encountered=0\n local i=0\n while [$i -lt $mtd\_count]; do\n eval local name="\"\$mtd\_names\_$i\""\n eval local size="\"\$mtd\_sizes\_$i\""\n eval local kbsize="\"\$mtd\_kbsizes\_$i\""\n eval local kboffset="\"\$mtd\_kboffsets\_$i\""\n\n if [“name" = "u-boot"]; then\n if [-n "u-boot.imx"]; then\n mender\_flash\_mtdpart "{TMPDIR}/deploy/images/imx6ull14x14evk/u-boot.imx” $size $kbsize $kboffset $name\n else\n bbwarn “There is a ‘u-boot’ mtdpart, but MENDER\_IMAGE\_BOOTLOADER\_FILE is undefined. Filling with zeros.”\n mender\_flash\_mtdpart “/dev/zero” $size $kbsize $kboffset $name\n fi\n elif [“name" = "u-boot-env"]; then\n mender\_flash\_mtdpart "{TMPDIR}/deploy/images/imx6ull14x14evk/uboot.env” $size $kbsize $kboffset $name\n elif [“name" = "ubi"]; then\n mender\_flash\_mtdpart "{TMPDIR}/work/imx6ull14x14evk-poky-linux-gnueabi/fsl-image-qt5-validation-imx/1.0-r0/deploy-fsl-image-qt5-validation-imx-image-complete/fsl-image-qt5-validation-imx-imx6ull14x14evk.ubimg” $size $kbsize $kboffset $name\n else\n bbwarn “Don’t know how to flash mtdparts ‘$name’. Filling with zeros.”\n mender\_flash\_mtdpart “/dev/zero” $size $kbsize $kboffset name\n fi\n\n i=(expr i + 1)\n done\n\n ln -sfn "fsl-image-qt5-validation-imx-imx6ull14x14evk-{DATETIME}.mtdimg" “${TMPDIR}/work/imx6ull14x14evk-poky-linux-gnueabi/fsl-image-qt5-validation-imx/1.0-r0/deploy-fsl-image-qt5-validation-imx-image-complete/fsl-image-qt5-validation-imx-imx6ull14x14evk.mtdimg”\n’, varname=‘IMAGE\_CMD’):  
except Exception as exc:  
\> raise ExpansionError(varname, s, exc) from exc

bb.data\_smart.ExpansionError: Failure expanding variable IMAGE\_CMD, expression was set -ex

```
# We don't actually use the result from this one, it's only to trigger a
# warning or error if the variable is not correctly set.
mender_get_mtdparts

${@mender_make_mtdparts_shell_array(d)}

local remaining_encountered=0
local i=0
while [$i -lt $mtd_count]; do
    eval local name="\"\$mtd_names_$i\""
    eval local size="\"\$mtd_sizes_$i\""
    eval local kbsize="\"\$mtd_kbsizes_$i\""
    eval local kboffset="\"\$mtd_kboffsets_$i\""

    if ["$name" = "u-boot"]; then
        if [-n "u-boot.imx"]; then
            mender_flash_mtdpart "${TMPDIR}/deploy/images/imx6ull14x14evk/u-boot.imx" $size $kbsize $kboffset $name
        else
            bbwarn "There is a 'u-boot' mtdpart, but MENDER_IMAGE_BOOTLOADER_FILE is undefined. Filling with zeros."
            mender_flash_mtdpart "/dev/zero" $size $kbsize $kboffset $name
        fi
    elif ["$name" = "u-boot-env"]; then
        mender_flash_mtdpart "${TMPDIR}/deploy/images/imx6ull14x14evk/uboot.env" $size $kbsize $kboffset $name
    elif ["$name" = "ubi"]; then
        mender_flash_mtdpart "${TMPDIR}/work/imx6ull14x14evk-poky-linux-gnueabi/fsl-image-qt5-validation-imx/1.0-r0/deploy-fsl-image-qt5-validation-imx-image-complete/fsl-image-qt5-validation-imx-imx6ull14x14evk.ubimg" $size $kbsize $kboffset $name
    else
        bbwarn "Don't know how to flash mtdparts '$name'. Filling with zeros."
        mender_flash_mtdpart "/dev/zero" $size $kbsize $kboffset $name
    fi

    i=$(expr $i + 1)
done

ln -sfn "fsl-image-qt5-validation-imx-imx6ull14x14evk-${DATETIME}.mtdimg" "${TMPDIR}/work/imx6ull14x14evk-poky-linux-gnueabi/fsl-image-qt5-validation-imx/1.0-r0/deploy-fsl-image-qt5-validation-imx-image-complete/fsl-image-qt5-validation-imx-imx6ull14x14evk.mtdimg"

```

which triggered exception TypeError: not all arguments converted during string formatting

Please help us resolve this as we are new to mender.

Thanks  
Deepanraj

---

_[View the full topic](https://hub.mender.io/t/imx6ull-nand-flash/1451)._
