# Create artifact for Variscite DART-6UL

**URL:** <https://hub.mender.io/t/create-artifact-for-variscite-dart-6ul/1019>\
**Category:** General Discussions\
**Tags:** yocto, sumo, rocko, nxp, thud\
**Created:** [September 16, 2019, 8:05am UTC](https://hub.mender.io/t/create-artifact-for-variscite-dart-6ul/1019 "2019-09-16T08:05:27Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mEK](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/mek/32/377_2.png) [@mEK](https://hub.mender.io/u/mEK)\
**Post date:** [September 16, 2019, 8:05am UTC](https://hub.mender.io/t/create-artifact-for-variscite-dart-6ul/1019/1 "2019-09-16T08:05:27Z")

</div>

Hello everyone,  
I am using Variscite’s DART-6UL board and integrated the meta-mender layer into my device. Now I can see the information of my device on the Mender demo server.

 ![imx6ul_meta-mender](https://canada1.discourse-cdn.com/flex036/uploads/mender/original/1X/7be8e05f07026fb346a53d21a10fe9d9969e1228.png)

Now I will try to create an artifact for my device and distribute it to my device. But I don’t know where to start. I’m confused on the documents. First I want to prepare an empty artifact and distribute it. Then I want to embed an application into artifact and distribute it to my device successfully. Where and how to start.  
I would be glad if you help.  
Thank you.

---

<div class="post-metadata">

**Author:** ![mirzak](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/mirzak/32/2056_2.png) [@mirzak](https://hub.mender.io/u/mirzak)\
**Post date:** [September 16, 2019, 8:24am UTC](https://hub.mender.io/t/create-artifact-for-variscite-dart-6ul/1019/2 "2019-09-16T08:24:16Z")

</div>

The Mender Artifact is generated as output of your Yocto build and is suffixed with `.mender`. This is used to perform image based updates. A bit information can be found here,

[https://docs.mender.io/2.0/architecture/overview#robust-updates](https://docs.mender.io/2.0/architecture/overview#robust-updates)

If you want to deploy application updates you first must use the 2.x version of the Mender client (I can see that you are running 1.7.1).

You will need to add the following to e.g `local.conf` to enable 2.x Mender Client,

```auto
PREFERRED_VERSION_pn-mender = "2.%"
PREFERRED_VERSION_pn-mender-artifact = "3.%"
PREFERRED_VERSION_pn-mender-artifact-native = "3.%"

```

It is not default on any of the stable branches yet.

Once you have Mender 2.x client running on your device you are able to deploy applications updates using Mender Update Modules. You can find a list of reference modules here,

[https://hub.mender.io/c/update-modules](https://hub.mender.io/c/update-modules)

Some additional information regarding Update Modules can be found here,

[https://docs.mender.io/2.0/devices/update-modules](https://docs.mender.io/2.0/devices/update-modules)

---

<div class="post-metadata">

**Author:** ![mEK](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/mek/32/377_2.png) [@mEK](https://hub.mender.io/u/mEK)\
**Post date:** [September 16, 2019, 10:18am UTC](https://hub.mender.io/t/create-artifact-for-variscite-dart-6ul/1019/3 "2019-09-16T10:18:33Z")

</div>

Thank you for speedy reply.  
Fristly, I must upgrade my Mender-client to 2.0. Then I will review the update modules.  
Now I have to add them to the build / conf / local.conf file:

MACHINE ??= ‘imx6ul-var-dart’  
DISTRO ?= ‘fslc-x11’  
PACKAGE\_CLASSES ?= “package\_rpm”  
EXTRA\_IMAGE\_FEATURES ?= “debug-tweaks”  
USER\_CLASSES ?= “buildstats image-mklibs image-prelink”  
PATCHRESOLVE = “noop”  
BB\_DISKMON\_DIRS ??= "  
STOPTASKS,{TMPDIR},1G,100K \ STOPTASKS,{DL\_DIR},1G,100K   
STOPTASKS,{SSTATE\_DIR},1G,100K \ STOPTASKS,/tmp,100M,100K \ ABORT,{TMPDIR},100M,1K   
ABORT,{DL\_DIR},100M,1K \ ABORT,{SSTATE\_DIR},100M,1K   
ABORT,/tmp,10M,1K"  
PACKAGECONFIG\_append\_pn-qemu-native = " sdl"  
PACKAGECONFIG\_append\_pn-nativesdk-qemu = " sdl"  
CONF\_VERSION = “1”

DL\_DIR ?= “${BSPDIR}/downloads/”  
ACCEPT\_FSL\_EULA = “1”

# Appended fragment from meta-mender-community/templates

# This really saves a lot of disk space!

INHERIT += “rm\_work”

# The name of the disk image and Artifact that will be built.

# This is what the device will report that it is running, and different updates

# must have different names because Mender will skip installation of an Artifact

# if it is already installed.

MENDER\_ARTIFACT\_NAME = “release-1”

INHERIT += “mender-full”

DISTRO\_FEATURES\_append = " systemd"  
VIRTUAL-RUNTIME\_init\_manager = “systemd”  
DISTRO\_FEATURES\_BACKFILL\_CONSIDERED = “sysvinit”  
VIRTUAL-RUNTIME\_initscripts = “”

# Build for Hosted Mender

# 

# To get your tenant token:

# - log in to [https://hosted.mender.io](https://hosted.mender.io)

# - click your email at the top right and then “My organization”

# - press the “COPY TO CLIPBOARD”

# - assign content of clipboard to MENDER\_TENANT\_TOKEN

# 

#MENDER\_SERVER\_URL = “[https://hosted.mender.io](https://hosted.mender.io)”  
#MENDER\_TENANT\_TOKEN = “”

# Build for Mender demo server

# 

# [https://docs.mender.io/getting-started/create-a-test-environment](https://docs.mender.io/getting-started/create-a-test-environment)

# 

# Uncomment below and update IP address to match the machine running the

# Mender demo server

MENDER\_DEMO\_HOST\_IP\_ADDRESS = “192.168.6.90”

# Build for Mender production setup (on-prem)

# 

# [https://docs.mender.io/artifacts/building-for-production](https://docs.mender.io/artifacts/building-for-production)

# 

# Uncomment below and update the URL to match your configured domain

# name and provide the path to the generated server.crt file.

# 

# NOTE! It is recommend that you provide below information in your custom

# Yocto layer and this is only for demo purposes. See linked documentation

# for additional information.

#MENDER\_SERVER\_URL = “[https://docker.mender.io](https://docker.mender.io)”  
#FILESEXTRAPATHS\_prepend\_pn-mender := “\<DIRECTORY-CONTAINING-server.crt\>:”  
#SRC\_URI\_append\_pn-mender = " file://server.crt"

# Mender storage configuration

# 

# More details on these variables is available at

# [https://docs.mender.io/devices/yocto-project/partition-configuration#configuring-storage](https://docs.mender.io/devices/yocto-project/partition-configuration#configuring-storage)

# 

# Also, please be sure to check other config files as other

# layers, config fragments, etc may attempt to set values

# for specific platforms. Using "bitbake -e "

# can help determine which files are setting these values

# in a given configuration.

# 

# MENDER\_STORAGE\_TOTAL\_SIZE\_MB = “2048”

# MENDER\_BOOT\_PART\_SIZE\_MB = “16”

# MENDER\_DATA\_PART\_SIZE\_MB = “1024”

# MENDER\_STORAGE\_DEVICE = “/dev/mmcblk0”

# MENDER\_BOOT\_PART = “${MENDER\_STORAGE\_DEVICE\_BASE}1”

# MENDER\_DATA\_PART = “${MENDER\_STORAGE\_DEVICE\_BASE}4”

# MENDER\_ROOTFS\_PART\_A = “${MENDER\_STORAGE\_DEVICE\_BASE}2”

# MENDER\_ROOTFS\_PART\_B = “${MENDER\_STORAGE\_DEVICE\_BASE}3”

# Appended fragment from meta-mender-community/meta-mender-variscite/templates

DISTRO ?= ‘fslc-x11’

# This will make sure that our SPL + u-boot.img is embedded in the sdimg at

# a 1kb offset.

MENDER\_IMAGE\_BOOTLOADER\_FILE = “u-boot-spl.img”  
MENDER\_IMAGE\_BOOTLOADER\_BOOTSECTOR\_OFFSET = “2”

# Remove the unneeded VFAT boot partition

IMAGE\_BOOT\_FILES = “”  
MENDER\_BOOT\_PART\_SIZE\_MB = “0”

# Standard partition alignment from upstream wks file

MENDER\_PARTITION\_ALIGNMENT = “4194304”

# Cleanup image types generated

IMAGE\_FSTYPES\_remove = “tar.gz ext4 wic.gz wic.bmap multiubi mender.bmap”

# disable uefi

MENDER\_FEATURES\_ENABLE\_append = " mender-uboot "  
MENDER\_FEATURES\_DISABLE\_append = " mender-grub mender-image-uefi"

# Appended fragment from meta-mender-community/meta-mender-variscite/templates

# SDCard Settings

MENDER\_STORAGE\_DEVICE\_var-som-mx6 = “/dev/mmcblk1”  
MENDER\_UBOOT\_STORAGE\_DEVICE\_var-som-mx6 = “0”  
MENDER\_STORAGE\_DEVICE\_imx6ul-var-dart = “/dev/mmcblk0”  
UBOOT\_CONFIG\_var-som-mx6 = “sd”  
UBOOT\_CONFIG\_imx6ul-var-dart = “sd”  
MENDER\_FEATURES\_ENABLE\_append = " mender-image-sd "  
MENDER\_STORAGE\_TOTAL\_SIZE\_MB\_var-som-mx6 = “1024”  
MENDER\_STORAGE\_TOTAL\_SIZE\_MB\_imx6ul-var-dart = “1024”

At the end of this local.conf file, I will add the version information that you said (mender-client 2.0).

PREFERRED\_VERSION\_pn-mender = “2.0%”  
PREFERRED\_VERSION\_pn-mender-artifact = “3.0%”  
PREFERRED\_VERSION\_pn-mender-artifact-native = “3.0%”

Then, I get a Yocto image again and print the .sdimg extention file to my sd card. After I print our .sdimg file to our sd card, insert the my device to sd card and burn it. I can check it on the mender demo server, right?

---

<div class="post-metadata">

**Author:** ![mEK](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/mek/32/377_2.png) [@mEK](https://hub.mender.io/u/mEK)\
**Post date:** [September 16, 2019, 11:41am UTC](https://hub.mender.io/t/create-artifact-for-variscite-dart-6ul/1019/4 "2019-09-16T11:41:41Z")

</div>

I did as you said and upgraded the mender-client to version 2.0.0.

 ![imx6ul_meta-mender](https://canada1.discourse-cdn.com/flex036/uploads/mender/original/1X/635a2f31546414bc20471d2e57b5b021f8ff4291.png)

Now, what’s my lead? I want to create my own artifact (primarily an empty artifact) and distribute it. Where should I start ?

---

<div class="post-metadata">

**Author:** ![drewmoseley](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/drewmoseley/32/47_2.png) [@drewmoseley](https://hub.mender.io/u/drewmoseley)\
**Post date:** [September 16, 2019, 3:21pm UTC](https://hub.mender.io/t/create-artifact-for-variscite-dart-6ul/1019/5 "2019-09-16T15:21:12Z")

</div>

The primary links for this are [https://docs.mender.io/2.0/devices/update-modules](https://docs.mender.io/2.0/devices/update-modules) and [https://docs.mender.io/2.0/artifacts](https://docs.mender.io/2.0/artifacts). Essentially you use the mender-artifact command to create the package/file based updates ([https://docs.mender.io/2.0/devices/update-modules#workstation-with-mender-artifact](https://docs.mender.io/2.0/devices/update-modules#workstation-with-mender-artifact))
