Issue after applying update to Toradex Colibri i.MX7D (Yocto)

I am currently experiencing a problem when having an update installed using an artifact.
Basically I am trying to install some necessary files to target devices, as well as Mono package (https://www.mono-project.com/), which is crucial for launching those files (not using systemd yet, just to test the custom layer).

After the update, the files have not been copied and somehow the eth0 device disappeared, although no changes were written to the device tree. Also, the Mono package does not get installed.
The issue appeared when I created a deployment on my own Mender server.

For that I have created my own bitbake layer inside a Yocto distribution from here: Toradex Colibri iMX7 Dual 1GB
The hardware used: Toradex Colibri i.MX7D 1GB on an Aster carrier board with an Arduino-compatible RS232 shield.
Mender version: 1.7.1

My layer .bb file:

SUMMARY = "chiller"
DESCRIPTION = "Enable chiller control via CAN using Toradex"
AUTHOR = "dominykas"

LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=0ea4e253cc22ddc22117b9796e5ce5b7"

RDEPENDS_${PN} = "mono-devel"

SRC_URI += "file://alfa \                 
file://Nancy.xml \            
file://omega.exe \
file://alfa.service \         
file://Newtonsoft.Json.dll \  
file://omega.exe.config \
file://socketcan.service \    
file://Newtonsoft.Json.xml \  
file://omega.pdb \
file://Nancy.dll \               
file://NLog.config \         
file://omega.service \
file://Nancy.Hosting.Self.dll \  
file://NLog.dll \             
file://System.ValueTuple.dll \
file://Nancy.Hosting.Self.xml \  
file://NLog.xml"

do_install () {
	install -d ${D}/dominykas/data/alfa/logs
	install -d ${D}/dominykas/data/omega/logs
	install -d ${D}/dominykas/services/alfa
	install -d ${D}/dominykas/services/omega
	install -m ${WORKDIR}/alfa.service ${D}/dominykas/services/alfa/alfa.service
	install -m ${WORKDIR}/alfa ${D}/dominykas/services/alfa/alfa
	install -m ${WORKDIR}/socketcan.service ${D}/dominykas/services/alfa/socketcan.service
	install -m ${WORKDIR}/Nancy.dll ${D}/dominykas/services/omega/Nancy.dll
	install -m ${WORKDIR}/Nancy.Hosting.Self.dll ${D}/dominykas/services/omega/Nancy.Hosting.Self.dll
	install -m ${WORKDIR}/Nancy.Hosting.Self.xml ${D}/dominykas/services/omega/Nancy.Hosting.Self.xml
	install -m ${WORKDIR}/Nancy.xml ${D}/dominykas/services/omega/Nancy.xml
	install -m ${WORKDIR}/Newtonsoft.Json.dll ${D}/dominykas/services/omega/Newtonsoft.Json.dll
	install -m ${WORKDIR}/Newtonsoft.Json.xml ${D}/dominykas/services/omega/Newtonsoft.Json.xml
	install -m ${WORKDIR}/NLog.config ${D}/dominykas/services/omega/NLog.config
	install -m ${WORKDIR}/NLog.dll ${D}/dominykas/services/omega/NLog.dll
	install -m ${WORKDIR}/NLog.xml ${D}/dominykas/services/omega/NLog.xml
	install -m ${WORKDIR}/omega.service ${D}/dominykas/services/omega/omega.service
	install -m ${WORKDIR}/omega.exe ${D}/dominykas/services/omega/omega.exe
	install -m ${WORKDIR}/omega.exe.config ${D}/dominykas/services/omega/omega.exe.config
	install -m ${WORKDIR}/omega.pdb ${D}/dominykas/services/omega/omega.pdb
	install -m ${WORKDIR}/System.ValueTuple.dll ${D}/dominykas/services/omega/System.ValueTuple.dll
}

FILES_${PN} += "/dominykas/services/alfa/alfa.service \
/dominykas/services/alfa/alfa \
/dominykas/services/alfa/socketcan.service \
/dominykas/services/omega/Nancy.dll \
/dominykas/services/omega/Nancy.Hosting.Self.dll \
/dominykas/services/omega/Nancy.Hosting.Self.xml \
/dominykas/services/omega/Nancy.xml \
/dominykas/services/omega/Newtonsoft.Json.dll \
/dominykas/services/omega/Newtonsoft.Json.xml \
/dominykas/services/omega/NLog.config \
/dominykas/services/omega/NLog.dll \
/dominykas/services/omega/NLog.xml \
/dominykas/services/omega/omega.service \
/dominykas/services/omega/omega.exe \
/dominykas/services/omega/omega.exe.config \
/dominykas/services/omega/omega.pdb \
/dominykas/services/omega/System.ValueTuple.dll"

Is there something I might have done wrong?

Hi @dominykas, welcome to Mender Hub.

Since you are using Mender 1.7, that means you are doing a full rootfs artifact right? I don’t see anything obviously wrong with the bb file but there are other things you need to check.

  1. Is your layer listed in bblayers.conf?
  2. Is the “chiller” package getting installed into your image? Normally this is done with IMAGE_INSTALL_append in your local.conf but there are other mechanisms such as RDEPENDS that can be used.
  3. What image are you building? Is it the same as the one that built the original image?

Drew

Hi @drewmoseley, thanks for your response.

  1. Yes, it is listed, bitbake picks it up just fine.
  2. No, it is not described anywhere outside bblayers.conf. Maybe that is the issue?
  3. Basically yes, I am building the modified image with the exact same procedure as the original one, only with an added layer and updated local.conf, nothing else is being touched.

Yes, it sounds like you simply need to include it in your image. The simplest way to do that would be to add the following to your conf/local.conf file:

IMAGE_INSTALL_append = " chiller "

Note that the spaces inside the quotes are intentional and required.