Bitbake systemd dependency ERROR

When i modified local.conf

DISTRO_FEATURES += " systemd"
This is dependency of meta-swupdate. Please help me to fix this issue.

ERROR: tdx-reference-minimal-image-1.0-r0 do_rootfs: Unable to install packages. Command ‘/home/dekimo/oe-core/build/tmp/work/colibri_imx7_emmc-tdx-linux-gnueabi/tdx-reference-minimal-image/1.0-r0/recipe-sysroot-native/usr/bin/opkg --volatile-cache -f /home/dekimo/oe-core/build/tmp/work/colibri_imx7_emmc-tdx-linux-gnueabi/tdx-reference-minimal-image/1.0-r0/opkg.conf -t /home/dekimo/oe-core/build/tmp/work/colibri_imx7_emmc-tdx-linux-gnueabi/tdx-reference-minimal-image/1.0-r0/temp/ipktemp/ -o /home/dekimo/oe-core/build/tmp/work/colibri_imx7_emmc-tdx-linux-gnueabi/tdx-reference-minimal-image/1.0-r0/rootfs --force_postinstall --prefer-arch-to-version install connman connman-client connman-plugin-ethernet connman-plugin-loopback connman-plugin-wifi opkg packagegroup-base-extended packagegroup-base-tdx-cli packagegroup-basic packagegroup-boot packagegroup-core-boot packagegroup-machine-tdx-cli packagegroup-wifi-fw-tdx-cli packagegroup-wifi-tdx-cli run-postinsts swupdate systemd-analyze timestamp-service udev-extraconf’ returned 255:
*** opkg_prepare_url_for_install: Couldn’t find anything to satisfy ‘connman-plugin-wifi’.**

log file, log.do_rootfs:
NOTE: Installing the following packages: connman connman-client connman-plugin-ethernet connman-plugin-loopback connman-plugin-wifi opkg packagegroup-base-extended packagegroup-base-tdx-cli packagegroup-basic packagegroup-boot packagegroup-core-boot packagegroup-machine-tdx-cli packagegroup-wifi-fw-tdx-cli packagegroup-wifi-tdx-cli run-postinsts swupdate systemd-analyze timestamp-service udev-extraconf
NOTE: /home/dekimo/oe-core/build/tmp/work/colibri_imx7_emmc-tdx-linux-gnueabi/tdx-reference-minimal-image/1.0-r0/recipe-sysroot-native/usr/bin/opkg --volatile-cache -f /home/dekimo/oe-core/build/tmp/work/colibri_imx7_emmc-tdx-linux-gnueabi/tdx-reference-minimal-image/1.0-r0/opkg.conf -t /home/dekimo/oe-core/build/tmp/work/colibri_imx7_emmc-tdx-linux-gnueabi/tdx-reference-minimal-image/1.0-r0/temp/ipktemp/ -o /home/dekimo/oe-core/build/tmp/work/colibri_imx7_emmc-tdx-linux-gnueabi/tdx-reference-minimal-image/1.0-r0/rootfs --force_postinstall --prefer-arch-to-version install connman connman-client connman-plugin-ethernet connman-plugin-loopback connman-plugin-wifi opkg packagegroup-base-extended packagegroup-base-tdx-cli packagegroup-basic packagegroup-boot packagegroup-core-boot packagegroup-machine-tdx-cli packagegroup-wifi-fw-tdx-cli packagegroup-wifi-tdx-cli run-postinsts swupdate systemd-analyze timestamp-service udev-extraconf
ERROR: Unable to install packages. Command ‘/home/dekimo/oe-core/build/tmp/work/colibri_imx7_emmc-tdx-linux-gnueabi/tdx-reference-minimal-image/1.0-r0/recipe-sysroot-native/usr/bin/opkg --volatile-cache -f /home/dekimo/oe-core/build/tmp/work/colibri_imx7_emmc-tdx-linux-gnueabi/tdx-reference-minimal-image/1.0-r0/opkg.conf -t /home/dekimo/oe-core/build/tmp/work/colibri_imx7_emmc-tdx-linux-gnueabi/tdx-reference-minimal-image/1.0-r0/temp/ipktemp/ -o /home/dekimo/oe-core/build/tmp/work/colibri_imx7_emmc-tdx-linux-gnueabi/tdx-reference-minimal-image/1.0-r0/rootfs --force_postinstall --prefer-arch-to-version install connman connman-client connman-plugin-ethernet connman-plugin-loopback connman-plugin-wifi opkg packagegroup-base-extended packagegroup-base-tdx-cli packagegroup-basic packagegroup-boot packagegroup-core-boot packagegroup-machine-tdx-cli packagegroup-wifi-fw-tdx-cli packagegroup-wifi-tdx-cli run-postinsts swupdate systemd-analyze timestamp-service udev-extraconf’ returned 255:

* opkg_prepare_url_for_install: Couldn’t find anything to satisfy ‘connman-plugin-wifi’.

DEBUG: Python function do_rootfs finished

Hello Ali,

Looks like your build is missing items in package feed. Can you try to run build with following flag
bitbake --runall build <your image name>.
also to get a better idea of package feed, see if problem persists if you add connman to IMAGE_INSTALL by appending.

Thank you for reply,
I excluded this package from image for time being, here are my recipe files
tdx-reference-minimal-image.bb (1.7 KB)
swupdate.inc (10.2 KB)
swupdate-gui-image.bb (576 Bytes)
swupdate-image.bb (186 Bytes)
swupdate-image.inc (468 Bytes)

Continuing discussion from other platform, the issue you mentioned of swupdate service file not being present should not happen, are you sure you haven’t made any other changes that can effect installation of swupdate service related files in your image?

These are my modifications in local.conf:

MACHINE ?= “colibri-imx7-emmc”

Specify the image format

IMAGE_FSTYPES += “ext4.gz”

Specify the compression type for the root filesystem image

IMAGE_ROOTFS_COMPRESSION ?= “gz”

DISTRO_FEATURES += " systemd"

Hi @alizohairshah !

Thanks for reaching out to Toradex Community! :slight_smile:

And @mhamza, thank you for your effort in helping @alizohairshah :partying_face:

@alizohairshah, I just would like to highlight that Toradex released the Torizon OS reference images that you can build yourself using Yocto and you will have a ready to use Over-The-Air (OTA) update client in there. You won’t need to go through the hassle of enabling/integrating the OTA client yourself.

If you want to know more, here are some articles about it:

Not to mention that we also have ready-to-use Torizon OS images, that you can customize without Yocto (a lot easier to use :wink: ). Those also come with ready-to-use OTA client.

Best regards,

Hi @henrique.tx

Thank you for your reply, Torizon is not free, I am trying to integrate meta-swupdate for my requirements. Can you help me to fix the above package issue of “connman-plugin-wifi” ?

Hi @alizohairshah

Well, although I can understand what you mean, we can discuss how much “free” any other OTA client will be.

Quickly thinking, you are already investing your time to solve this issue you are facing. This right away means costs.

Not to mention that you will need to have some server somewhere serving the updates over internet. Costs again.

Upon new versions of BSP, you will (hopefully :stuck_out_tongue: ) update the OS on your modules with the latest and greatest versions, but this means costs again because you will need to invest your time again to integrate your OTA client against the new versions. This is the beauty of having an OTA client, right? To serve on the modules the latest and greatest versions. Maintenance also means cost.

So, although saying “Torizon is not free” is not false, it doesn’t tell the whole history. By using Torizon, the three main costs referenced above (your current time, server, maintenance) will be included in Torizon Cloud’s service. Have you done the calculation to compare how “free” will be your OTA client of choice compared with Torizon’s solution after considering all this?

I could go through other values and features that Torizon will also give you, but maybe this is better for a e-meeting. If you want, of course :slight_smile:

Seems like @mhamza have better knowledge about swupdate than me (I have never used it). So I think his help will be more helpful to you.

Best regards,

Hello @henrique.tx , yes I have worked extensively on swupdate, however in @alizohairshah case there are multiple things that need to be fixed, as I myself am not completely aware of how their BSP is configured and what layers, recipes and packages are being used and how swupdate is being implemented so it is hard to understand and identify without much context that what actually the issues are (as its not just one specific error or issue) therefore someone with context can help better.