summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--buildconf/bblayers.conf18
-rw-r--r--buildconf/export2
-rw-r--r--buildconf/local.conf41
-rw-r--r--classes/toradex-mirrors.bbclass14
-rw-r--r--conf/distro/include/arm-defaults.inc8
-rw-r--r--conf/distro/include/tdx-base.inc26
-rw-r--r--conf/distro/tdx-x11-rt.conf11
-rw-r--r--conf/distro/tdx-x11-upstream-rt.conf11
-rw-r--r--conf/distro/tdx-x11-upstream.conf13
-rw-r--r--conf/distro/tdx-x11.conf25
-rw-r--r--conf/layer.conf2
-rwxr-xr-xscripts/uprev-srcrev11
12 files changed, 83 insertions, 99 deletions
diff --git a/buildconf/bblayers.conf b/buildconf/bblayers.conf
index 4855940..9377e8f 100644
--- a/buildconf/bblayers.conf
+++ b/buildconf/bblayers.conf
@@ -5,10 +5,23 @@ LCONF_VERSION = "7"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
-BBLAYERS ?= " \
+BBLAYERS_NXP ?= " \
${TOPDIR}/../layers/meta-toradex-nxp \
${TOPDIR}/../layers/meta-freescale \
${TOPDIR}/../layers/meta-freescale-3rdparty \
+"
+
+BBLAYERS_TI ?= " \
+ ${TOPDIR}/../layers/meta-toradex-ti \
+ ${TOPDIR}/../layers/meta-arm/meta-arm-toolchain \
+ ${TOPDIR}/../layers/meta-arm/meta-arm \
+ ${TOPDIR}/../layers/meta-ti/meta-ti-bsp \
+ ${TOPDIR}/../layers/meta-ti/meta-ti-extras \
+"
+
+BBLAYERS ?= " \
+ ${BBLAYERS_NXP} \
+ ${BBLAYERS_TI} \
\
${TOPDIR}/../layers/meta-toradex-bsp-common \
\
@@ -16,14 +29,13 @@ BBLAYERS ?= " \
${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-security/meta-tpm \
\
${TOPDIR}/../layers/meta-toradex-distro \
${TOPDIR}/../layers/meta-yocto/meta-poky \
diff --git a/buildconf/export b/buildconf/export
index b535a3a..87d9e95 100644
--- a/buildconf/export
+++ b/buildconf/export
@@ -39,5 +39,5 @@ if [ $FIRST_TIME -eq 1 ]; then
$ECHO -e "\033[1mA sample conf/local.conf file has been created"
$ECHO -e "Check and edit the file to adapt to your local needs\033[0m"
echo "The following likely need your attention:"
- echo "DL_DIR"
+ echo "ACCEPT_FSL_EULA = "1", DISTRO, DL_DIR"
fi
diff --git a/buildconf/local.conf b/buildconf/local.conf
index b44c3f7..59b1f3b 100644
--- a/buildconf/local.conf
+++ b/buildconf/local.conf
@@ -18,19 +18,31 @@
# machines which target the Toradex Apalis, Colibri and Verdin computer on
# module families:
#
+
+# Toradex Modules based on i.MX 6/6ULL/7 are only supported with the
+# tdx-xwayland-upstream DISTRO which builds a kernel pulled from
+# kernel.org and use matching userspace components.
#MACHINE ?= "apalis-imx6"
-#MACHINE ?= "apalis-imx8"
-#
#MACHINE ?= "colibri-imx6"
#MACHINE ?= "colibri-imx6ull"
#MACHINE ?= "colibri-imx6ull-emmc"
#MACHINE ?= "colibri-imx7"
#MACHINE ?= "colibri-imx7-emmc"
-#MACHINE ?= "colibri-imx8x"
#
+# Toradex Modules based on SoC of the i.MX 8 family are supported with the
+# tdx-xwayland DISTRO which builds a kernel based on NXP's downstream fork
+# and matching userspace components. Support with tdx-xwayland-upstream
+# DISTRO is experimental and currently only builds for Verdin modules.
+#MACHINE ?= "apalis-imx8"
+#MACHINE ?= "colibri-imx8x"
#MACHINE ?= "verdin-imx8mm"
#MACHINE ?= "verdin-imx8mp"
#
+# Toradex Modules based on SoC of the TI AM62x family are supported with the
+# tdx-xwayland DISTRO which builds a kernel based on TI downstream fork
+# and matching userspace components.
+#MACHINE ?= "verdin-am62"
+#
# There are also a selection of emulated machines available which can boot and run
# in the QEMU emulator:
#
@@ -87,7 +99,18 @@ SSTATE_DIR ?= "${TOPDIR}/../sstate-cache"
# This places the build output in parallel to build and layers thus
# if you have several build directories you need to adjust deploy
# to something unique, e.g. "${TOPDIR}/../deploy_fb" "${TOPDIR}/../deploy_x11"
-DEPLOY_DIR = "${TOPDIR}/deploy"
+#
+# In case of a multiconfig (e.g. TI's k3 architecture) separate the deploy
+# dirs. All native recipe deploy identical license files into the deploy directories.
+# If having one deploy directory for all configs this results in build errors
+# for any build executed after the first one.
+# Thus configure a deploy directory with the name of the multiconfig inside the
+# default deploy directory.
+# If build artefacts are needed for the final image additional work may be
+# needed, follow TI_COMMON_DEPLOY to see how that is than in the k3 case.
+#
+TI_COMMON_DEPLOY = "${TOPDIR}/deploy"
+DEPLOY_DIR = "${TI_COMMON_DEPLOY}${@'' if d.getVar('BB_CURRENT_MC') == 'default' else '/${BB_CURRENT_MC}'}"
#
# Package Management configuration
@@ -267,11 +290,11 @@ PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
#
#BB_SERVER_TIMEOUT = "60"
-# Toradex fitImage support (For EMMC modules)
+# fitImage support (For EMMC modules)
#
# To enable fitimage, uncomment the following two lines
#
-# KERNEL_CLASSES:append = " toradex-fitimage"
+# KERNEL_CLASSES:append = " kernel-fitimage"
# KERNEL_IMAGETYPE:forcevariable = "${@'zImage' if d.getVar('TORADEX_FLASH_TYPE') == 'rawnand' else 'fitImage'}"
@@ -286,8 +309,10 @@ INHERIT += "rm_work"
# Add Toradex bbclasses
INHERIT += "toradex-mirrors toradex-sanity"
-# Use this distro by default
-DISTRO ?= "tdx-xwayland"
+# Use the upstream distro for modules based on i.MX 6/6ULL/7, downstream is no longer supported.
+# For i.MX 8/8X/8MM/8MP and TI modules the downstream distro is used.
+MACHINES_DOWNSTREAM_DISTRO_DEFAULT = "apalis-imx8 colibri-imx8x verdin-imx8mm verdin-imx8mp verdin-am62 verdin-am62-k3r5"
+DISTRO ?= "${@bb.utils.contains("MACHINES_DOWNSTREAM_DISTRO_DEFAULT", d.getVar('MACHINE') or '', "tdx-xwayland", "tdx-xwayland-upstream", d)}"
# Don't generate the mirror tarball for SCM repos, the snapshot is enough
# BB_GENERATE_MIRROR_TARBALLS = "0"
diff --git a/classes/toradex-mirrors.bbclass b/classes/toradex-mirrors.bbclass
new file mode 100644
index 0000000..de8822c
--- /dev/null
+++ b/classes/toradex-mirrors.bbclass
@@ -0,0 +1,14 @@
+TORADEX_MIRROR_URL="https://artifacts.toradex.com/artifactory/tdxref-torizoncore-sources-frankfurt/${TDX_MAJOR}"
+
+PREMIRRORS:append = " \
+cvs://.*/.* ${TORADEX_MIRROR_URL} \
+svn://.*/.* ${TORADEX_MIRROR_URL} \
+git://.*/.* ${TORADEX_MIRROR_URL} \
+gitsm://.*/.* ${TORADEX_MIRROR_URL} \
+hg://.*/.* ${TORADEX_MIRROR_URL} \
+bzr://.*/.* ${TORADEX_MIRROR_URL} \
+p4://.*/.* ${TORADEX_MIRROR_URL} \
+osc://.*/.* ${TORADEX_MIRROR_URL} \
+https?$://.*/.* ${TORADEX_MIRROR_URL} \
+ftp://.*/.* ${TORADEX_MIRROR_URL} \
+"
diff --git a/conf/distro/include/arm-defaults.inc b/conf/distro/include/arm-defaults.inc
index 187682f..efdbe72 100644
--- a/conf/distro/include/arm-defaults.inc
+++ b/conf/distro/include/arm-defaults.inc
@@ -13,6 +13,7 @@ def at_least_one(elements, list):
def arm_tune_handler(d):
armv7athf_tune_features = ['armv7a', 'armv7ve', 'cortexa5', 'cortexa7', 'cortexa9', 'cortexa15']
+ armv8a_tune_features = ['armv8a', 'crc']
features = d.getVar('TUNE_FEATURES').split()
if at_least_one(armv7athf_tune_features, features):
tune = 'armv7athf'
@@ -26,12 +27,11 @@ def arm_tune_handler(d):
tune += '-neon'
if 'vfpv4' in features:
tune += '-vfpv4'
+ elif at_least_one(armv8a_tune_features, features):
+ # all currently used i.MX 8 members support the following
+ tune = 'armv8a-crypto'
else:
tune = d.getVar('DEFAULTTUNE')
return tune
DEFAULTTUNE:tdx := "${@arm_tune_handler(d)}"
-
-DISTRO_ARM_INSTRUCTION ?= "thumb"
-DISTRO_ARM_INSTRUCTION:armv5 ?= "arm"
-ARM_INSTRUCTION_SET:tdx ??= "${DISTRO_ARM_INSTRUCTION}"
diff --git a/conf/distro/include/tdx-base.inc b/conf/distro/include/tdx-base.inc
index a521238..98bd293 100644
--- a/conf/distro/include/tdx-base.inc
+++ b/conf/distro/include/tdx-base.inc
@@ -59,9 +59,6 @@ INHERIT += "image-buildinfo"
INHERIT += "buildhistory"
BUILDHISTORY_COMMIT = "1"
-# Use bluez5 as default.
-DISTRO_FEATURES:append = " bluez5"
-
IMAGE_LINGUAS ?= "en-us"
# Some Toradex recipes like linux-toradex, u-boot-toradex,
@@ -73,10 +70,10 @@ IMAGE_LINGUAS ?= "en-us"
# | QA Issue: Package version went backwards which would break package feeds
ERROR_QA:remove = "version-going-backwards"
-# TODO: review default distro features
-DISTRO_FEATURES:append = " pam systemd"
+DISTRO_FEATURES:append = " pam systemd usrmerge"
DISTRO_FEATURES:remove = "sysvinit ptest"
VIRTUAL-RUNTIME_init_manager = "systemd"
+PACKAGECONFIG:append:pn-systemd = " serial-getty-generator"
PACKAGECONFIG:append:pn-qemu-native = " libusb"
PREFERRED_PROVIDER_u-boot-fw-utils = "libubootenv"
@@ -84,20 +81,13 @@ PREFERRED_RPROVIDER_u-boot-fw-utils = "libubootenv"
PREFERRED_PROVIDER_virtual/dtb ?= "device-tree-overlays"
-# Use i.MX Gstreamer Version (for PXP DMA-ENGINE Driver)
-PREFERRED_VERSION_gstreamer1.0:imx-nxp-bsp ?= "1.18.5.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-base:imx-nxp-bsp ?= "1.18.5.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-good:imx-nxp-bsp ?= "1.18.5.imx"
-PREFERRED_VERSION_gstreamer1.0-plugins-bad:imx-nxp-bsp ?= "1.18.5.imx"
-
-# If the gstreamer imx variant gets prefered over upstream due to versioning
-# set the preferred version for the upstream variant here:
-#PREFERRED_VERSION_gstreamer1.0:imx-mainline-bsp ?= "1.18%"
-#PREFERRED_VERSION_gstreamer1.0-plugins-base:imx-mainline-bsp ?= "1.18%"
-#PREFERRED_VERSION_gstreamer1.0-plugins-good:imx-mainline-bsp ?= "1.18%"
-#PREFERRED_VERSION_gstreamer1.0-plugins-bad:imx-mainline-bsp ?= "1.18%"
-
PREFERRED_PROVIDER_opencl-headers:imxgpu = "imx-gpu-viv"
PREFERRED_PROVIDER_opencl-clhpp:imxgpu = "imx-gpu-viv"
PREFERRED_PROVIDER_opencl-icd-loader:imxgpu = "imx-gpu-viv"
PREFERRED_RPROVIDER_opencl-icd-loader:imxgpu = "libopencl-imx"
+
+# keep the dtb vendor directories in fitimage node names
+KERNEL_DTBVENDORED = "1"
+
+# Defines the root home directory as /root, as required by systemd.
+ROOT_HOME = "/root"
diff --git a/conf/distro/tdx-x11-rt.conf b/conf/distro/tdx-x11-rt.conf
deleted file mode 100644
index 6b21e7f..0000000
--- a/conf/distro/tdx-x11-rt.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-# Toradex Distro with X11 without wayland.
-# Using the downstream kernel flavour with rt-patch applied.
-
-require conf/distro/tdx-x11.conf
-
-DISTRO = "tdx-x11-rt"
-DISTRO_NAME = "TDX X11 RT"
-DISTROOVERRIDES .= ":preempt-rt"
-DISTRO_FLAVOUR = " (X11 PREEMPT_RT)"
-
-IMAGE_BASENAME:append = "-rt"
diff --git a/conf/distro/tdx-x11-upstream-rt.conf b/conf/distro/tdx-x11-upstream-rt.conf
deleted file mode 100644
index 83914ad..0000000
--- a/conf/distro/tdx-x11-upstream-rt.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-# Toradex Distro with X11 without wayland.
-# Using the upstream kernel flavour with rt-patch applied.
-
-require conf/distro/tdx-x11-upstream.conf
-
-DISTRO = "tdx-x11-upstream-rt"
-DISTRO_NAME = "TDX X11 Upstream RT"
-DISTROOVERRIDES .= ":preempt-rt"
-DISTRO_FLAVOUR = " (X11 UPSTREAM PREEMPT_RT)"
-
-IMAGE_BASENAME:append = "-rt"
diff --git a/conf/distro/tdx-x11-upstream.conf b/conf/distro/tdx-x11-upstream.conf
deleted file mode 100644
index aeaa666..0000000
--- a/conf/distro/tdx-x11-upstream.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-# Toradex Distro with X11 without wayland.
-# Using the upstream kernel flavour.
-
-require conf/distro/tdx-x11.conf
-
-DISTRO = "tdx-x11-upstream"
-DISTRO_NAME = "TDX X11 Upstream"
-DISTROOVERRIDES .= ":upstream"
-DISTRO_FLAVOUR = " (X11 UPSTREAM)"
-
-IMX_DEFAULT_BSP = "mainline"
-
-IMAGE_BASENAME:append = "-upstream"
diff --git a/conf/distro/tdx-x11.conf b/conf/distro/tdx-x11.conf
deleted file mode 100644
index 47ff7c1..0000000
--- a/conf/distro/tdx-x11.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-# Toradex Distro with X11 without wayland.
-# Using the downstream kernel flavour.
-
-require conf/distro/include/tdx-base.inc
-
-DISTRO = "tdx-x11"
-DISTRO_NAME = "TDX X11"
-DISTRO_FLAVOUR = "(X11)"
-
-IMAGE_BASENAME:append = "-x11"
-
-IMX_DEFAULT_BSP = "nxp"
-
-# Remove conflicting backends.
-DISTRO_FEATURES:remove = "wayland "
-
-# we use graphics, so set opengl
-DISTRO_FEATURES:append = " opengl"
-
-# These are X11 specific
-DISTRO_FEATURES:append = " x11"
-
-# lxqt requires this
-DISTRO_FEATURES:append = " polkit"
-
diff --git a/conf/layer.conf b/conf/layer.conf
index 21f8785..0a7524b 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -12,4 +12,4 @@ BBFILE_PATTERN_IGNORE_EMPTY_meta-toradex-distro = "1"
BBFILE_PRIORITY_meta-toradex-distro = "21"
LAYERDEPENDS_meta-toradex-distro = "core yocto"
-LAYERSERIES_COMPAT_meta-toradex-distro = "kirkstone"
+LAYERSERIES_COMPAT_meta-toradex-distro = "nanbield scarthgap"
diff --git a/scripts/uprev-srcrev b/scripts/uprev-srcrev
index de0241e..e6ebe81 100755
--- a/scripts/uprev-srcrev
+++ b/scripts/uprev-srcrev
@@ -20,14 +20,17 @@ import scriptutils
logger = scriptutils.logger_create('uprev-srcrev')
-# meta-toradex-bsp-common/recipes-bsp/u-boot/u-boot_%.bbappend needs to be done manually, bbappends are not supported
recipes_tdxref = [
- "../layers/meta-toradex-bsp-common/recipes-kernel/linux/linux-toradex-mainline_git.bb",
+ "../layers/meta-toradex-bsp-common/recipes-kernel/linux/linux-toradex-upstream_6.6.bb",
+ "../layers/meta-toradex-bsp-common/recipes-kernel/linux/linux-toradex-upstream-rt_6.6.bb",
"../layers/meta-toradex-bsp-common/recipes-kernel/linux/device-tree-overlays-mainline_git.bb",
- "../layers/meta-toradex-nxp/recipes-kernel/linux/linux-toradex_5.15-2.0.x.bb",
+ "../layers/meta-toradex-nxp/recipes-kernel/linux/linux-toradex_5.15-2.2.x.bb",
"../layers/meta-toradex-nxp/recipes-kernel/linux/device-tree-overlays_git.bb",
- "../layers/meta-toradex-nxp/recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.7.0.bb",
+ "../layers/meta-toradex-nxp/recipes-bsp/imx-sc-firmware/imx-sc-firmware-toradex_1.15.0.bb",
"../layers/meta-toradex-nxp/recipes-bsp/u-boot/u-boot-toradex_2022.04.bb",
+ "../layers/meta-toradex-ti/recipes-bsp/u-boot/u-boot-toradex-ti_2023.04.bb",
+ "../layers/meta-toradex-ti/recipes-kernel/linux/device-tree-overlays-ti_git.bb",
+ "../layers/meta-toradex-ti/recipes-kernel/linux/linux-toradex-ti_6.1.bb",
]
recipes_tezi = [