diff options
-rw-r--r-- | buildconf/bblayers.conf | 18 | ||||
-rw-r--r-- | buildconf/export | 2 | ||||
-rw-r--r-- | buildconf/local.conf | 41 | ||||
-rw-r--r-- | classes/toradex-mirrors.bbclass | 14 | ||||
-rw-r--r-- | conf/distro/include/arm-defaults.inc | 8 | ||||
-rw-r--r-- | conf/distro/include/tdx-base.inc | 26 | ||||
-rw-r--r-- | conf/distro/tdx-x11-rt.conf | 11 | ||||
-rw-r--r-- | conf/distro/tdx-x11-upstream-rt.conf | 11 | ||||
-rw-r--r-- | conf/distro/tdx-x11-upstream.conf | 13 | ||||
-rw-r--r-- | conf/distro/tdx-x11.conf | 25 | ||||
-rw-r--r-- | conf/layer.conf | 2 | ||||
-rwxr-xr-x | scripts/uprev-srcrev | 11 |
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 = [ |