Dear community,
We are currently update our custom linux image by switching to linux 5.4-2. The goal is to have a distribution with Qt/QML + EGLFS + Gstreamer.
The first try is about to build a prototype image based on tdx-reference-minimal-image by tuning it as :
[local.conf]
ACCEPT_FSL_EULA = "1"
MACHINE = "apalis-imx6"
DL_DIR = "${TOPDIR}/../downloads"
SSTATE_DIR ?= "${TOPDIR}/../sstate-cache"
TMPDIR = "${TOPDIR}/tmp"
DEPLOY_DIR = "${TOPDIR}/deploy"
PACKAGE_CLASSES ?= "package_ipk"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks package-management"
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-system-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
CONF_VERSION = "1"
INHERIT += "rm_work"
INHERIT += "toradex-mirrors"
DISTRO = "poky"
IMX_DEFAULT_BSP = "nxp"
LICENSE_FLAGS_WHITELIST="commercial"
# Defined in meta/recipes-core/packagegroups/packagegroup-base.bb
MACHINE_FEATURES_remove = "usbgadget alsa"
MACHINE_FEATURES_remove = "pci"
CONMANPKGS ?= "connman connman-plugin-loopback connman-plugin-ethernet connman-client"
GSTREAMER = " \
gstreamer1.0 \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-imx \
"
#D-BUS devices
DBUS = " \
dbus \
upower \
udisks2 \
"
QT5 = " \
qtbase \
qtbase-examples \
qtquickcontrols \
qtquickcontrols2 \
qttranslations \
cinematicexperience \
qtmultimedia \
qtmultimedia-plugins \
qtmultimedia-qmlplugins \
"
IMAGE_INSTALL_append = " \
dropbear \
pkgconfig \
zlib glib-2.0 evtest \
cpufrequtils \
i2c-tools \
psplash \
ntfs-3g-ntfsprogs \
busybox \
shadow \
bash \
coreutils \
less \
makedevs \
mime-support \
util-linux \
v4l-utils \
psplash \
media-files \
\
${GSTREAMER} \
${QT5} \
${DBUS} \
"
IMAGE_INSTALL_remove += " \
packagegroup-base-tdx-cli \
packagegroup-machine-tdx-cli \
packagegroup-wifi-tdx-cli \
packagegroup-wifi-fw-tdx-cli \
"
PREFERRED_PROVIDER_virtual/kernel = "linux-toradex-nxp"
# Distro customization #
IMAGE_INSTALL_remove = "eglinfo-x11"
DISTRO_FEATURES_append = " opengles2 egl opengl gles gbm dri eglfs gles2 polkit"
DISTRO_FEATURES_remove = " x11 wayland wifi 3g bluetooth"
IMAGE_FSTYPES += " ext4"
include conf/machine/include/${MACHINE}.inc
For removing vulkan-loader error at compile runtime:
[gstreamer1.0-plugins-bad_1.16.imx.bbapend]
PACKAGECONFIG[vulkan] = "-Dvulkan=disabled"
[qtbase_%.bbappend]
PACKAGECONFIG_append = " linuxfb eglfs gles2 kms"
PACKAGECONFIG_remove = "gl xcb xcb-xinput"
[qtmultimedia%.bbappend]
PACKAGECONFIG_append = " gstreamer"
[bblayers.conf]
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "7"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
${TOPDIR}/../layers/meta-yocto/meta-poky \
${TOPDIR}/../layers/openembedded-core/meta \
\
${TOPDIR}/../layers/meta-toradex-nxp \
${TOPDIR}/../layers/meta-freescale \
${TOPDIR}/../layers/meta-freescale-3rdparty \
\
${TOPDIR}/../layers/meta-toradex-tegra \
\
${TOPDIR}/../layers/meta-toradex-bsp-common \
\
${TOPDIR}/../layers/meta-openembedded/meta-oe \
${TOPDIR}/../layers/meta-openembedded/meta-filesystems \
${TOPDIR}/../layers/meta-openembedded/meta-gnome \
${TOPDIR}/../layers/meta-openembedded/meta-xfce \
${TOPDIR}/../layers/meta-openembedded/meta-initramfs \
${TOPDIR}/../layers/meta-openembedded/meta-networking \
${TOPDIR}/../layers/meta-openembedded/meta-multimedia \
${TOPDIR}/../layers/meta-openembedded/meta-python \
${TOPDIR}/../layers/meta-freescale-distro \
${TOPDIR}/../layers/meta-toradex-demos \
${TOPDIR}/../layers/meta-qt5 \
\
${TOPDIR}/../layers/meta-toradex-distro \
${TOPDIR}/../layers/meta-custom \
\
\
"
The output build is:
ERROR: Task (/home/vincent/dvpt/oe-core/build/../layers/meta-toradex-nxp/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.imx.bb:do_compile) failed with exit code '1'
Without qtmultimedia, the distribution is well compiled and we are able to launch Qt cinematic exemple on the board (Apalis imx6q 1.1b).
Please, advise
KR