I’ve created a Linux image with overlays, docker, docker compose, added and configured users and it all works. I’m now trying to install libiec61850 library and run examples. I’ve installed the library and run the examples on my host wsl2 but the Yocto install is not unpacking the tarball. I’m attempting to install to a folder called libiecfiles. The tarball is the only thing in the folder on the target. From what I’m reading, the file is unpacked by the fetcher.
Here’s my recipe, bblayers and pertinent local.conf:
# Recipe created by recipetool
# This is the basis of a recipe and may need further editing in order to be fully functional.
# (Feel free to remove these comments when editing.)
# WARNING: the following LICENSE and LIC_FILES_CHKSUM values are best guesses - it is
# your responsibility to verify that the values are complete and correct.
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = ""
# No information for SRC_URI yet (only an external source tree was specified)
SRC_URI = "file:///home/kbyrd/libiecinstall/libiec61850-1.5.1.tar.gz;unpack=0"
S = "{$WORKDIR}/libiecfiles"
# NOTE: no Makefile found, unable to determine what needs to be done
do_configure () {
# Specify any needed configure commands here
:
}
do_compile () {
# Specify compilation commands here
:
}
inherit cmake
do_install() {
install -d ${D}${bindir}/libiecfiles
install -m 0755 ${workdir}/home/kbyrd/libiecinstall/libiec61850-1.5.1.tar.gz ${D}${bindir}/libiecfiles
}
FILES_${PN} = "/libiecfiles/*"
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "7"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= "
/home/kbyrd/openembedded-core/meta
/home/kbyrd/meta-intel
/home/kbyrd/meta-tensor22
/home/kbyrd/meta-readonly-rootfs-overlay
/home/kbyrd/meta-openembedded/meta-oe
/home/kbyrd/meta-openembedded/meta-python
/home/kbyrd/meta-openembedded/meta-networking
/home/kbyrd/meta-openembedded/meta-filesystems
/home/kbyrd/meta-virtualization
/home/kbyrd/meta-hw
/home/kbyrd/meta-tools
/home/kbyrd/meta-hw/libiecinstall
"
CONF_VERSION = "2"
WKS_FILE = "image-installer.wks.in"
IMAGE_FSTYPES:append = " ext4"
IMAGE_TYPEDEP:wic = "ext4"
INITRD_IMAGE_LIVE="core-image-minimal-initramfs"
do_image_wic[depends] += "${INITRD_IMAGE_LIVE}:do_image_complete"
do_rootfs[depends] += "virtual/kernel:do_deploy"
IMAGE_BOOT_FILES:append = "
${KERNEL_IMAGETYPE}
microcode.cpio
${IMGDEPLOYDIR}/${IMAGE_BASENAME}-${MACHINE}.rootfs.ext4;rootfs.img
${@bb.utils.contains('EFI_PROVIDER', 'grub-efi',
'grub-efi-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)}
${@bb.utils.contains('EFI_PROVIDER', 'grub-efi',
'${IMAGE_ROOTFS}/boot/EFI/BOOT/grub.cfg;EFI/BOOT/grub.cfg', '', d)}
${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot',
'systemd-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)}
${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot',
'${IMAGE_ROOTFS}/boot/loader/loader.conf;loader/loader.conf ', '', d)} ${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/entries/boot.conf;loader/entries/boot.conf', '', d)}
"
INHERIT += "extrausers"
EXTRA_USERS_PARAMS += "usermod -p '$1$EZkCDWad$eEMhB36cFCOeRGXvtP3t81' root;"
EXTRA_USERS_PARAMS += "useradd -p '$6$tPkf2dieZSHdFHya$HzeqQVUwEwimGlwi2MAOA36qfGBTvRA8IOy770UqzQKEwiznCdrnPQKs5P8V53Ob6jj0hcYwdn5.uV19f8p520' Test2;"
EXTRA_USERS_PARAMS += "useradd -p '$1$EZkCDWad$eEMhB36cFCOeRGXvtP3t81' Test;"
DISTRO_FEATURES:append = " virtualization"
IMAGE_INSTALL:append = " docker"
IMAGE_INSTALL:append = " docker-compose"
IMAGE_INSTALL:append = " hw"
IMAGE_INSTALL:append = " libiec"
Created and added libiecinstall layer. Created libiec recipe. Added libiec recipe to image_install via ‘IMAGE_INSTALL:append = ” libiec”‘ I was expecting libiec61850 folder with Makefile and build, demos, examples etc. folders within libiecfiles folder but I only see the tarball in there.