From c34dcb2c7442949df089452c57303c105ef4bca6 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Thu, 26 Sep 2019 17:29:31 +0200 Subject: [PATCH 01/25] meta-digi: revert revisions to AUTOREV This reverts commit 750c18b99590430d7a12fe78db1c0c21942eb60c. Signed-off-by: Hector Palacios --- meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc | 2 +- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb | 2 +- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb | 2 +- .../recipes-digi/trustfence/trustfence-sign-tools_git.bb | 4 ++-- .../kernel-module-qualcomm/kernel-module-qualcomm.bb | 5 ++--- meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc | 5 ++--- .../recipes-digi/cloudconnector/cloudconnector_git.bb | 4 ++-- meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc | 4 ++-- meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb | 4 ++-- 9 files changed, 15 insertions(+), 17 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc index 7a10ff889..b3acff935 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc @@ -18,7 +18,7 @@ S = "${WORKDIR}/git" UBOOT_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}u-boot-denx.git', '${DIGI_GITHUB_GIT}/u-boot.git;protocol=https', d)}" SRC_URI = " \ - ${UBOOT_GIT_URI};nobranch=1 \ + ${UBOOT_GIT_URI};branch=${SRCBRANCH} \ " SRC_URI_append = " \ diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb index c348b7028..3cf75fbd9 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb @@ -3,6 +3,6 @@ require digi-u-boot.inc SRCBRANCH = "v2017.03/maint" -SRCREV = "98d7b2a83c63db520c1344535c053c43f88267b6" +SRCREV = "${AUTOREV}" COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul|ccimx8x)" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb index 4b7e2c647..763c3b386 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb @@ -3,6 +3,6 @@ require digi-u-boot.inc SRCBRANCH = "v2018.03/maint" -SRCREV = "2854efcc84fbb420a247e6d6e51892e6399ea45b" +SRCREV = "${AUTOREV}" COMPATIBLE_MACHINE = "(ccimx8x)" diff --git a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb index bd0128fd6..9aff645ff 100644 --- a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb +++ b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425 DEPENDS = "trustfence-cst coreutils util-linux" SRCBRANCH = "v2017.03/maint" -SRCREV = "98d7b2a83c63db520c1344535c053c43f88267b6" +SRCREV = "${AUTOREV}" S = "${WORKDIR}" @@ -14,7 +14,7 @@ S = "${WORKDIR}" UBOOT_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}u-boot-denx.git', '${DIGI_GITHUB_GIT}/u-boot.git;protocol=https', d)}" SRC_URI = " \ - ${UBOOT_GIT_URI};nobranch=1 \ + ${UBOOT_GIT_URI};branch=${SRCBRANCH} \ file://trustfence-sign-kernel.sh;name=kernel-script \ file://sign_uimage;name=kernel-sign \ file://encrypt_uimage;name=kernel-encrypt \ diff --git a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb index 4cc253408..ce2fe5e89 100644 --- a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb +++ b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb @@ -11,13 +11,12 @@ PV_ccimx8x = "v4.0.11.208Q" SRCBRANCH = "qca6564/dey-2.6/maint" SRCBRANCH_ccimx8x = "qca6574/dey-2.6/maint" -SRCREV = "9b772af82d96a942bb1927fb9596069a121e4cea" -SRCREV_ccimx8x = "3e6c96c3682c39be5068b6969e552e5c193d17af" +SRCREV = "${AUTOREV}" QCOM_GIT_URI = "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_MTK_GIT}linux/qcacld-2.0.git;protocol=ssh', '${DIGI_GITHUB_GIT}/qcacld-2.0.git;protocol=https', d)}" SRC_URI = " \ - ${QCOM_GIT_URI};nobranch=1 \ + ${QCOM_GIT_URI};branch=${SRCBRANCH} \ " # Selects whether the interface is SDIO or PCI diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc b/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc index b6d95a996..3166424f9 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc @@ -6,11 +6,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" LOCALVERSION = "-dey" SRCBRANCH = "v4.14/dey-2.6/maint" SRCBRANCH_ccimx6 = "v4.9/dey-2.6/maint" -SRCREV = "0f5a740ab5b829b09b7b55f4f318fc61cd25b484" -SRCREV_ccimx6 = "3af7f832df7462bc3b0f76d37ed3893aab2edc51" +SRCREV = "${AUTOREV}" # Select internal or Github Linux repo LINUX_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}linux-2.6.git', '${DIGI_GITHUB_GIT}/linux.git;protocol=https', d)}" -SRC_URI = "${LINUX_GIT_URI};nobranch=1" +SRC_URI = "${LINUX_GIT_URI};branch=${SRCBRANCH}" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb index 367eae7a2..d5501cdd7 100644 --- a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb +++ b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb @@ -8,14 +8,14 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MPL-2.0;md5=815ca599c9df247a0c7 DEPENDS = "confuse openssl recovery-utils zlib" SRCBRANCH = "master" -SRCREV = "4a8272204425a7a39f3d7c05b6ec6f33d6e35867" +SRCREV = "${AUTOREV}" CC_STASH = "gitsm://git@stash.digi.com/cc/cc_dey.git;protocol=ssh" CC_GITHUB = "gitsm://github.com/digi-embedded/cc_dey.git;protocol=https" CC_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${CC_STASH}', '${CC_GITHUB}', d)}" -SRC_URI = "${CC_GIT_URI};nobranch=1" +SRC_URI = "${CC_GIT_URI};branch=${SRCBRANCH}" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc index 113e1db95..a9549eece 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc @@ -1,11 +1,11 @@ # Copyright (C) 2019, Digi International Inc. SRCBRANCH = "dey-2.6/maint" -SRCREV = "7413e47d8c87280fbc941153d7af1e9f51bf26da" +SRCREV = "${AUTOREV}" DEY_EXAMPLES_STASH = "${DIGI_MTK_GIT}dey/dey-examples.git;protocol=ssh" DEY_EXAMPLES_GITHUB = "${DIGI_GITHUB_GIT}/dey-examples.git;protocol=https" DEY_EXAMPLES_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DEY_EXAMPLES_STASH}', '${DEY_EXAMPLES_GITHUB}', d)}" -SRC_URI = "${DEY_EXAMPLES_GIT_URI};nobranch=1" +SRC_URI = "${DEY_EXAMPLES_GIT_URI};branch=${SRCBRANCH}" diff --git a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb index bfe62648c..23f520cb1 100644 --- a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb +++ b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca DEPENDS = "libsoc libsocketcan" SRCBRANCH ?= "dey-2.6/maint" -SRCREV = "eeabaf405387691281a6674ec356fdb3cd81f6a5" +SRCREV = "${AUTOREV}" LIBDIGIAPIX_URI_STASH = "${DIGI_MTK_GIT}dey/libdigiapix.git;protocol=ssh" LIBDIGIAPIX_URI_GITHUB = "${DIGI_GITHUB_GIT}/libdigiapix.git;protocol=https" @@ -17,7 +17,7 @@ LIBDIGIAPIX_URI_GITHUB = "${DIGI_GITHUB_GIT}/libdigiapix.git;protocol=https" LIBDIGIAPIX_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${LIBDIGIAPIX_URI_STASH}', '${LIBDIGIAPIX_URI_GITHUB}', d)}" SRC_URI = " \ - ${LIBDIGIAPIX_GIT_URI};nobranch=1 \ + ${LIBDIGIAPIX_GIT_URI};branch=${SRCBRANCH} \ file://99-digiapix.rules \ file://libdigiapix.conf \ file://digiapix.sh \ From 440c3a953a0ffbad57512dd1fac495192a5712bb Mon Sep 17 00:00:00 2001 From: Gonzalo Ruiz Date: Tue, 1 Oct 2019 17:01:17 +0200 Subject: [PATCH 02/25] qualcomm.sh: generalize to select correct board data file Generalize script to select the correct board data file to load into the wireless chip depending on the Regulatory Domain configuration whether it is a variation of 'bdwlan30.bin' or 'fakeboar.bin'. If 'bdwlan30_US.bin' or 'bdwlan30_World.bin' files are found in the firmware directory, the script will create two symlinks, 'bdwlan30.bin and 'utfbd30.bin', pointing to either one of those files. If no 'bdwlan30_*.bin' files are found, but 'fakeboar_US.bin' or 'fakeboar_World.bin' is, it will create a single symlink, 'fakeboar.bin', pointing to either one of those files. In the case a QCA6574 community driver is loaded, 'board.bin' symlink will be updated. If no 'fakeboard_*.bin' files are found either, the script will exit. https://jira.digi.com/browse/DEL-6773 Signed-off-by: Gonzalo Ruiz --- .../kernel-module-qualcomm/qualcomm.sh | 39 +++++++++++++++---- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm/qualcomm.sh b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm/qualcomm.sh index d2097595c..2a8980b9a 100644 --- a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm/qualcomm.sh +++ b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm/qualcomm.sh @@ -80,14 +80,33 @@ esac ( cd "${FIRMWARE_DIR}" - BDATA_SOURCE="bdwlan30_US.bin" + if [ -f "bdwlan30_US.bin" ] || [ -f "bdwlan30_World.bin" ]; then + BDATA_US="bdwlan30_US.bin" + BDATA_WW="bdwlan30_World.bin" + BDATA_LINK="bdwlan30.bin" + UTFBDATA_LINK="utfbd30.bin" + elif [ -f "fakeboar_US.bin" ] || [ -f "fakeboar_World.bin" ]; then + BDATA_US="fakeboar_US.bin" + BDATA_WW="fakeboar_World.bin" + # Use different links for propietary and community drivers + if [ -f "board.bin" ]; then + BDATA_LINK="board.bin" + else + BDATA_LINK="fakeboar.bin" + fi + else + log "5" "[ERROR] Could not locate board data files" + exit 1 + fi + + BDATA_SOURCE="${BDATA_US}" case "${REGULATORY_DOMAIN}" in ${US_CODE}) log "5" "Setting US wireless region";; ${WW_CODE}|${JP_CODE}) - if [ -f "bdwlan30_World.bin" ]; then + if [ -f "${BDATA_WW}" ]; then log "5" "Setting WW (world wide) wireless region" - BDATA_SOURCE="bdwlan30_World.bin" + BDATA_SOURCE="${BDATA_WW}" else log "5" "[WARN] No WW (worldwide) board data file, using US" fi @@ -98,12 +117,16 @@ esac log "5" "[WARN] Invalid region code, using US";; esac - # We don't want to rewrite NAND every time we boot so only - # change the links if they are wrong. - BDATA_LINK="bdwlan30.bin" - UTFBDATA_LINK="utfbd30.bin" - if [ ! -e "${BDATA_LINK}" ] || ! cmp -s "${BDATA_LINK}" "${BDATA_SOURCE}"; then + # When defined, update the links only if they are wrong so we don't + # rewrite the internal memory every time we boot + if [ -n "${BDATA_LINK}" ] && + ([ ! -f "${BDATA_LINK}" ] || + ! cmp -s "${BDATA_LINK}" "${BDATA_SOURCE}"); then ln -sf "${BDATA_SOURCE}" "${BDATA_LINK}" + fi + if [ -n "${UTFBDATA_LINK}" ] && + ([ ! -f "${UTFBDATA_LINK}" ] || + ! cmp -s "${UTFBDATA_LINK}" "${BDATA_SOURCE}"); then ln -sf "${BDATA_SOURCE}" "${UTFBDATA_LINK}" fi ) From d95a05f5fc209632527104752bbf6bab2932b076 Mon Sep 17 00:00:00 2001 From: Gonzalo Ruiz Date: Tue, 1 Oct 2019 17:13:03 +0200 Subject: [PATCH 03/25] firmware-qualcomm: rename BDF to 'fakeboar_US.bin' Rename board data file loaded on qca6574 wireless chips to 'fakeboar_US.bin'. A symlink named 'fakeboar.bin' will be created by 'qualcomm.sh' selecting either this file or the WorlWide variant: 'fakeboar_World.bin'. - fakeboard_US.bin (e1db4a300b58776f8abd8588beadc09e) https://jira.digi.com/browse/DEL-6773 Signed-off-by: Gonzalo Ruiz --- .../firmware-qualcomm/firmware-qualcomm.bb | 10 +++++----- .../{fakeboar.bin => fakeboar_US.bin} | Bin 2 files changed, 5 insertions(+), 5 deletions(-) rename meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/{fakeboar.bin => fakeboar_US.bin} (100%) diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm.bb b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm.bb index 474713043..73101f768 100644 --- a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm.bb +++ b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm.bb @@ -27,21 +27,21 @@ FW_QCA6564_WIFI_PROPRIETARY = " \ FW_QCA6574_WIFI_PROPRIETARY = " \ file://LICENCE.atheros_firmware \ file://qca6574_proprietary/qwlan30.bin \ - file://qca6574_proprietary/fakeboar.bin \ + file://qca6574_proprietary/fakeboar_US.bin \ file://qca6574_proprietary/otp.bin \ file://qca6574_proprietary/utf.bin \ " # Firmware files for QCA6574 (Qualcomm community driver) # NOTE: the community file 'board.bin' must be substituted by proprietary -# 'fakeboar.bin' +# 'fakeboar_US.bin' FW_QCA6574_WIFI_COMMUNITY = " \ file://qca6574_community/board-2.bin \ file://qca6574_community/firmware-4.bin \ file://qca6574_community/firmware-6.bin \ file://qca6574_community/notice_ath10k_firmware-4.txt \ file://qca6574_community/notice_ath10k_firmware-6.txt \ - file://qca6574_proprietary/fakeboar.bin \ + file://qca6574_proprietary/fakeboar_US.bin \ " FW_QUALCOMM_WIFI ?= "${FW_QCA6564_WIFI_PROPRIETARY}" @@ -72,8 +72,8 @@ do_install() { install -m 0644 ${FW_WIFI_FILES} ${D}${WIFI_FW_PATH} if [ "${QUALCOMM_WIFI_DRIVER}" = "community" ]; then # If using community driver, create symlink 'board.bin' to - # proprietary 'fakeboar.bin' - ln -s fakeboar.bin ${D}${WIFI_FW_PATH}/board.bin + # proprietary 'fakeboar_US.bin' + ln -s fakeboar_US.bin ${D}${WIFI_FW_PATH}/board.bin else if [ "${FW_QUALCOMM_WIFI}" = "${FW_QCA6574_WIFI_PROPRIETARY}" ]; then ln -s qwlan30.bin ${D}${WIFI_FW_PATH}/athwlan.bin diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/fakeboar.bin b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/fakeboar_US.bin similarity index 100% rename from meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/fakeboar.bin rename to meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/fakeboar_US.bin From 624a728ff2ff852eccd3d25a761e44e4164fa331 Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Thu, 3 Oct 2019 17:04:24 +0200 Subject: [PATCH 04/25] pulseaudio: let systemd know the PID of the pulseaudio daemon Otherwise, systemd will have to guess the PID of the service's main process. It guesses right most of the time, but sometimes it chooses the PID of the original pulseaudio process instead of the daemon that gets forked off. This caused the daemon to stop immediately after starting, breaking other apps that require the pulseaudio server to be running. Since the PID file is created in a user-specific runtime directory (and the service is meant for the whole system), modify the wrapper script to create a symlink to the PID file in a place where it can be obtained by systemd. https://jira.digi.com/browse/DEL-6795 Signed-off-by: Gabriel Valcazar --- .../recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init | 3 +++ .../pulseaudio/pulseaudio/pulseaudio-system.service | 1 + 2 files changed, 4 insertions(+) diff --git a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init index 14096506d..46a31676b 100644 --- a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init +++ b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init @@ -9,3 +9,6 @@ export DBUS_SESSION_BUS_ADDRESS=unix:path=$XDG_RUNTIME_DIR/bus pulseaudio --start + +# Create a symlink to the daemon's PID file in a more accesible directory +ln -sf $XDG_RUNTIME_DIR/pulse/pid /run/pulse.pid diff --git a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-system.service b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-system.service index f1fa28d69..8a7f8cc0b 100644 --- a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-system.service +++ b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-system.service @@ -4,6 +4,7 @@ After=dbus.service [Service] Type=forking +PIDFile=/run/pulse.pid ExecStart=/etc/pulseaudio-init ExecStop=kill -HUP $MAINPID From c61a615b2fbbb36fd4ec905ea45d27c7379ff9a8 Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Fri, 4 Oct 2019 09:30:17 +0200 Subject: [PATCH 05/25] pulseaudio-init: cosmetic: add curly braces to variable expansions Signed-off-by: Gabriel Valcazar --- .../recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init index 46a31676b..22284ceee 100644 --- a/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init +++ b/meta-digi-dey/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-init @@ -6,9 +6,9 @@ [ -f "/etc/profile.d/weston.sh" ] && source /etc/profile.d/weston.sh [ -f "/etc/X11/Xsession.d/13xdgbasedirs.sh" ] && source /etc/X11/Xsession.d/13xdgbasedirs.sh -export DBUS_SESSION_BUS_ADDRESS=unix:path=$XDG_RUNTIME_DIR/bus +export DBUS_SESSION_BUS_ADDRESS=unix:path=${XDG_RUNTIME_DIR}/bus pulseaudio --start # Create a symlink to the daemon's PID file in a more accesible directory -ln -sf $XDG_RUNTIME_DIR/pulse/pid /run/pulse.pid +ln -sf ${XDG_RUNTIME_DIR}/pulse/pid /run/pulse.pid From a332ff445f46cf116e330cb1e059d9e59c2fca42 Mon Sep 17 00:00:00 2001 From: Gonzalo Ruiz Date: Fri, 15 Nov 2019 09:32:41 +0100 Subject: [PATCH 06/25] firmware_qualcomm: update US Board Data File Update file: - fakeboar_US.bin (f74a835871d9c12f116312ff54927b39) This file was generated by calibrating 10 CC8X SOMs (version 0x4) and merging their resulting BDF files into a Golden file. Target powers table is also updated to improve performance on 2.4GHz band. Reference calibration file is: - bdwlan30.bin (8a558fa38dacee7038f04c1b10ec69a5) located at 'cnss_proc/wlan/fw/target/pcie_dst/qc6174/' from tag r10007.1 on qca6574au-le-2-2-1_qca_oem repo. https://jira.digi.com/browse/DEL-6852 Signed-off-by: Gonzalo Ruiz --- .../qca6574_proprietary/fakeboar_US.bin | Bin 8124 -> 8124 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/fakeboar_US.bin b/meta-digi-arm/recipes-bsp/firmware-qualcomm/firmware-qualcomm/qca6574_proprietary/fakeboar_US.bin index d51ffbe4422066839f62fa7adc6e96d3a26d831d..8d48bbef5abdcb1042fee4503f31bbb1e5fc8c08 100644 GIT binary patch literal 8124 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 O`8KT!D%fug=zjq&a|nk3 From 92d658107f848713bc4abfd839dc9acc283b9eb9 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Mon, 27 Jan 2020 17:47:52 +0100 Subject: [PATCH 07/25] u-boot-dey: fix wrapped lines on install script Wrapped lines must have a back-slash symbol so that U-Boot doesn't interpret them as finished. The missing symbol resulted in the script not being able to determine the U-Boot image to program in some cases. Reported-by: Leonid Makhnovskiy Signed-off-by: Hector Palacios https://jira.digi.com/browse/DEL-6953 --- .../u-boot-dey/ccimx8x-sbc-express/install_linux_fw_sd.txt | 4 ++-- .../u-boot/u-boot-dey/ccimx8x-sbc-pro/install_linux_fw_sd.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/install_linux_fw_sd.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/install_linux_fw_sd.txt index 62501234a..feea47c06 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/install_linux_fw_sd.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-express/install_linux_fw_sd.txt @@ -32,10 +32,10 @@ else if test -n "${module_variant}"; then if test "${module_variant}" = "0x01"; then setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-express-1.2GHz_1GB_32bit.bin; - elif test "${module_variant}" = "0x02" || + elif test "${module_variant}" = "0x02" || \ test "${module_variant}" = "0x03"; then setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-express-1.2GHz_2GB_32bit.bin; - elif test "${module_variant}" = "0x04" || + elif test "${module_variant}" = "0x04" || \ test "${module_variant}" = "0x05"; then setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-express-1.2GHz_1GB_16bit.bin; fi diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-pro/install_linux_fw_sd.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-pro/install_linux_fw_sd.txt index cce9bf896..76ed5aa6a 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-pro/install_linux_fw_sd.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccimx8x-sbc-pro/install_linux_fw_sd.txt @@ -32,10 +32,10 @@ else if test -n "${module_variant}"; then if test "${module_variant}" = "0x01"; then setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-1.2GHz_1GB_32bit.bin; - elif test "${module_variant}" = "0x02" || + elif test "${module_variant}" = "0x02" || \ test "${module_variant}" = "0x03"; then setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-1.2GHz_2GB_32bit.bin; - elif test "${module_variant}" = "0x04" || + elif test "${module_variant}" = "0x04" || \ test "${module_variant}" = "0x05"; then setenv INSTALL_UBOOT_FILENAME imx-boot-ccimx8x-sbc-pro-1.2GHz_1GB_16bit.bin; elif test "${module_variant}" = "0x06"; then From 6b516797512f180a5cd3bb0e02e1b9fab6c7737e Mon Sep 17 00:00:00 2001 From: Arturo Buzarra Date: Wed, 5 Feb 2020 18:32:45 +0100 Subject: [PATCH 08/25] switch to building from maintenance branches for dey-2.6-r3 Signed-off-by: Arturo Buzarra --- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2019.04.bb | 2 +- .../recipes-digi/trustfence/trustfence-sign-tools_git.bb | 2 +- .../kernel-module-qualcomm/kernel-module-qualcomm.bb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2019.04.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2019.04.bb index 604ebbc43..f5e812866 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2019.04.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2019.04.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e" DEPENDS += "flex-native bison-native" -SRCBRANCH = "v2019.04/master" +SRCBRANCH = "v2019.04/maint" SRCREV = "${AUTOREV}" COMPATIBLE_MACHINE = "(ccimx8x)" \ No newline at end of file diff --git a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb index c9985bc75..813464718 100644 --- a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb +++ b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425 DEPENDS = "trustfence-cst coreutils util-linux" SRCBRANCH = "v2017.03/maint" -SRCBRANCH_ccimx8x = "v2019.04/master" +SRCBRANCH_ccimx8x = "v2019.04/maint" SRCREV = "${AUTOREV}" S = "${WORKDIR}" diff --git a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb index 73d8df971..d6488aa5f 100644 --- a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb +++ b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca # Reference Qualcomm tag/version PV = "v4.0.11.213X" -SRCBRANCH = "qca65X4/master" +SRCBRANCH = "qca65X4/dey-2.6/maint" SRCREV = "${AUTOREV}" QCOM_GIT_URI = "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_MTK_GIT}linux/qcacld-2.0.git;protocol=ssh', '${DIGI_GITHUB_GIT}/qcacld-2.0.git;protocol=https', d)}" From 3c801aa3ea1a413e959697cbb552422dae911201 Mon Sep 17 00:00:00 2001 From: Arturo Buzarra Date: Thu, 6 Feb 2020 17:42:22 +0100 Subject: [PATCH 09/25] README: Update dey-2.6-r3 changelog https://jira.digi.com/browse/DEL-6947 Signed-off-by: Arturo Buzarra --- README.md | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index afa831b3a..8a3ca9fc9 100644 --- a/README.md +++ b/README.md @@ -86,11 +86,23 @@ Documentation is available online at https://www.digi.com/resources/documentatio # Downloads -* Demo images: https://ftp1.digi.com/support/digiembeddedyocto/2.6/r2/images/ -* Software Development Kit (SDK): https://ftp1.digi.com/support/digiembeddedyocto/2.6/r2/sdk/ +* Demo images: https://ftp1.digi.com/support/digiembeddedyocto/2.6/r3/images/ +* Software Development Kit (SDK): https://ftp1.digi.com/support/digiembeddedyocto/2.6/r3/sdk/ # Release Changelog +## 2.6-r3 + +* Release based on [Yocto 2.6 (Thud)](https://www.yoctoproject.org/software-overview/downloads) including: + * Package upgrades and security fixes +* Added support for ConnectCore 8M Nano platform +* Updated kernel version to v4.14.170 for i.MX8X and i.MX6UL platforms +* Updated kernel version to v4.9.212 for i.MX6 platforms +* Updated U-Boot to version 2019.04-r1 for i.MX8X platform +* Updated U-Boot to version 2017.03-r5 for i.MX6 and i.MX6UL platforms +* Updated i.MX8 SCU firmware to v1.3.0 +* Updated QCA65x4 Wi-Fi and Bluetooth firmware + ## 2.6-r2 * Release based on [Yocto 2.6 (Thud)](https://www.yoctoproject.org/software-overview/downloads) including: @@ -145,6 +157,14 @@ updated list can be found on the online documentation. devices (ConnectCore 6UL, ConnectCore 6 Plus) fail to join autonomous groups. * Trustfence is not yet supported on U-Boot v2018.03. +## ConnectCore 8M Nano + +* ConnectCore 8M Nano System-on-Module (SOM) + * CPU wake-up sources are not yet supported +* ConnectCore 8M Nano DVK + * The maximum bitrate for CAN interface is 125 Kbits/s. This is a software + limitation from the CAN controller. + ## ConnectCore 8X * i.MX8QXP Processor From bb36013e7a8c2060389951a9e205a5689556eabd Mon Sep 17 00:00:00 2001 From: Arturo Buzarra Date: Mon, 10 Feb 2020 14:05:47 +0100 Subject: [PATCH 10/25] dey-image-installer: fix BOOTABLE_ARTIFACTS for ConnectCore 8M Nano platform The bootable artifacts that must go inside the installer ZIP image, are defined in the variable BOOTABLE_ARTIFACTS. For platforms without RAM_CONFIGS, these artifacts are obtained from the UBOOT_CONFIG variable. This commit fixes the final artifact name added to the BOOTABLE_ARTIFACTS that for some platform is not strictly the same that the UBOOT_CONFIG name. For example for the U-Boot configuration "ccimx8mn_dvk", corresponds the bootable artifact "ccimx8mn-dvk" https://jira.digi.com/browse/DEL-6974 Signed-off-by: Arturo Buzarra --- meta-digi-arm/classes/boot-artifacts.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-digi-arm/classes/boot-artifacts.bbclass b/meta-digi-arm/classes/boot-artifacts.bbclass index f0195bd8c..34ff5a307 100644 --- a/meta-digi-arm/classes/boot-artifacts.bbclass +++ b/meta-digi-arm/classes/boot-artifacts.bbclass @@ -38,7 +38,7 @@ def get_bootable_artifacts(d): # For platforms without RAM_CONFIGS, build the artifacts from UBOOT_CONFIG if ram_configs == "": for t in types.split(" "): - artifacts.append("%s-%s.%s" % (uboot_prefix, t, uboot_suffix)) + artifacts.append("%s-%s.%s" % (uboot_prefix, t.replace("_","-"), uboot_suffix)) return " ".join(artifacts) else: machine = d.getVar('MACHINE', True) or "" From d05ddb33990a578a2407dddd16160327248f8f14 Mon Sep 17 00:00:00 2001 From: Arturo Buzarra Date: Mon, 10 Feb 2020 14:18:20 +0100 Subject: [PATCH 11/25] README: fix typo Signed-off-by: Arturo Buzarra --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8a3ca9fc9..e4e074773 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,7 @@ Documentation is available online at https://www.digi.com/resources/documentatio * Updated busybox to v1.29.3 * Updated OpenSSL to v1.1.1b * Package upgrades and security fixes -* Added support for ConnetCore 6 and ConnectCore 6 Plus platforms +* Added support for ConnectCore 6 and ConnectCore 6 Plus platforms * Updated kernel version to v4.14.141 for i.MX8X and i.MX6UL platforms * Updated kernel version to v4.9.190 for i.MX6 platforms * Updated U-Boot to version 2018.03-r2 for i.MX8X platform From 6aa852dccd37e436a92bb1028d8be0eb1ae364be Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Mon, 10 Feb 2020 15:56:50 +0100 Subject: [PATCH 12/25] sdk: remove image name from default SDK path Some configuration files inside of the SDK make use of the default SDK installation path, so some tools might break unless the SDK is installed in said default path. Recently, we modified the default installation path to include the platform and the image type, but the image type was added after the SDK was created, so even though the environment script's paths include the image type, the "original" default path in the config files inside of the SDK doesn't include the image type. A side effect of this is that Qt5 apps cannot be built, since the qmake and Qt configuration files are pointing to the "original" SDK path. Remove the image type from the path so that the paths in the SDK's config files match the real default installation path. This partially reverts commit be0fe088e39a97c7dbbba62851555b17d970df79. https://jira.digi.com/browse/DEL-6972 Signed-off-by: Gabriel Valcazar --- meta-digi-dey/classes/dey-image.bbclass | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/meta-digi-dey/classes/dey-image.bbclass b/meta-digi-dey/classes/dey-image.bbclass index 04690e451..a7679ca67 100644 --- a/meta-digi-dey/classes/dey-image.bbclass +++ b/meta-digi-dey/classes/dey-image.bbclass @@ -34,18 +34,15 @@ DEY_IMAGE_INSTALLER ?= "0" inherit ${@oe.utils.conditional("DEY_IMAGE_INSTALLER", "1", "dey-image-installer", "", d)} # -# Create a dey-version file when populating the toolchain/SDK and modify the -# default SDK installation path so it includes the proper 'IMAGE_BASENAME' -# value. +# Create a dey-version file when populating the toolchain/SDK # # 'SDK_POSTPROCESS_COMMAND' variable is originally defined in populate_sdk_base # class: poky/meta/classes/populate_sdk_base.bbclass -# It is redefined here to be able to tweak the resulting SDK before and after -# packaging, using the proper 'IMAGE_BASENAME' value. +# It is redefined here to be able to tweak the resulting SDK before packaging, +# using the proper 'IMAGE_BASENAME' value. # SDK_PREPACKAGING_COMMAND ?= "toolchain_create_sdk_dey_version" -SDK_POSTPACKAGING_COMMAND ?= "toolchain_modify_default_path" -SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; ${SDK_PREPACKAGING_COMMAND}; tar_sdk; ${SDK_PACKAGING_COMMAND} ${SDK_POSTPACKAGING_COMMAND}; " +SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; ${SDK_PREPACKAGING_COMMAND}; tar_sdk; ${SDK_PACKAGING_COMMAND} " # This function creates a DEY version information file fakeroot toolchain_create_sdk_dey_version() { @@ -59,9 +56,3 @@ fakeroot toolchain_create_sdk_dey_version() { } toolchain_create_sdk_dey_version[vardepsexclude] = "DATETIME" -# This function appends IMAGE_BASENAME to the default installation path -fakeroot toolchain_modify_default_path() { - sed -i -e 's#^DEFAULT_INSTALL_DIR="${SDKPATH}"#DEFAULT_INSTALL_DIR="${SDKPATH}/${IMAGE_BASENAME}"#g' \ - ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.sh -} - From 6caecc5c5369d87400d6134da3b0ba32c35b2518 Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Wed, 12 Feb 2020 15:42:43 +0100 Subject: [PATCH 13/25] trustfence-initramfs: use "busybox halt" instead of "poweroff" The poweroff command is not available in the initramfs due to a missing sysvinit/systemd dependency. Use the busybox "halt" command, since it's available regardless of the init manager used. Rework the error message and script variables accordingly. https://jira.digi.com/browse/DEL-6983 Signed-off-by: Gabriel Valcazar --- .../trustfence-initramfs/trustfence-initramfs-init_mmc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-digi-dey/recipes-core/trustfence/trustfence-initramfs/trustfence-initramfs-init_mmc b/meta-digi-dey/recipes-core/trustfence/trustfence-initramfs/trustfence-initramfs-init_mmc index ce5e3912f..a0d569e2d 100644 --- a/meta-digi-dey/recipes-core/trustfence/trustfence-initramfs/trustfence-initramfs-init_mmc +++ b/meta-digi-dey/recipes-core/trustfence/trustfence-initramfs/trustfence-initramfs-init_mmc @@ -15,13 +15,13 @@ # #=============================================================================== -POWEROFF_TIME="10" +HALT_TIME="10" error() { [ "${#}" != "0" ] && printf "\n[ERROR]: %s\n\n" "${1}" - echo "The system will poweroff in ${POWEROFF_TIME} seconds" - sleep "${POWEROFF_TIME}" - sync && poweroff -f + echo "The system will halt in ${HALT_TIME} seconds" + sleep "${HALT_TIME}" + sync && busybox halt -f } # Main From 8320168821983c700a7d42e0bffa3056cd4ca7a5 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Mon, 10 Feb 2020 10:44:49 +0100 Subject: [PATCH 14/25] trustfence: homogenize SIGN_MODE variables * prefix TRUSTFENCE_ to variable SIGN_MODE for DEY * prefix CONFIG_ to variable SIGN_MODE for script Signed-off-by: Hector Palacios --- meta-digi-arm/classes/image_types_digi.bbclass | 4 ++-- meta-digi-arm/conf/machine/include/ccimx6.inc | 3 ++- .../conf/machine/include/ccimx6ul.inc | 3 ++- meta-digi-arm/conf/machine/include/ccimx8x.inc | 3 ++- .../imx-mkimage/imx-boot_0.2.bbappend | 2 +- .../trustfence-cst/trustfence-cst.inc | 6 +++--- .../recipes-bsp/u-boot/digi-u-boot.inc | 6 +++--- .../trustfence-sign-kernel.sh | 18 +++++++++--------- .../trustfence/trustfence-sign-tools_git.bb | 6 +++--- .../recipes-kernel/linux/linux-dey.inc | 6 +++--- meta-digi-dey/classes/trustfence.bbclass | 2 +- .../recovery/recovery-initramfs.bb | 6 +++--- 12 files changed, 34 insertions(+), 31 deletions(-) diff --git a/meta-digi-arm/classes/image_types_digi.bbclass b/meta-digi-arm/classes/image_types_digi.bbclass index dcb85f51d..20c198f2b 100644 --- a/meta-digi-arm/classes/image_types_digi.bbclass +++ b/meta-digi-arm/classes/image_types_digi.bbclass @@ -206,7 +206,7 @@ trustence_sign_cpio() { [ -n "${TRUSTFENCE_KEY_INDEX}" ] && export CONFIG_KEY_INDEX="${TRUSTFENCE_KEY_INDEX}" [ -n "${TRUSTFENCE_DEK_PATH}" ] && [ "${TRUSTFENCE_DEK_PATH}" != "0" ] && export CONFIG_DEK_PATH="${TRUSTFENCE_DEK_PATH}" - if [ "${SIGN_MODE}" = "AHAB" ]; then + if [ "${TRUSTFENCE_SIGN_MODE}" = "AHAB" ]; then ${DEPLOY_DIR_IMAGE}/imx-boot-tools/mkimage_imx8 -soc ${MX8_SOC_VAR} -rev ${MX8_CHIP_REV} -c -ap ${1} a35 ${RAM_CONTAINER_LOC_TF} -out ${1}-mkimg mv "${1}-mkimg" "${1}" fi @@ -220,7 +220,7 @@ trustence_sign_cpio() { CONVERSIONTYPES += "tf" CONVERSION_CMD_tf = "trustence_sign_cpio ${IMAGE_NAME}.rootfs.${type}" CONVERSION_DEPENDS_tf = "${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', \ - oe.utils.conditional('SIGN_MODE', 'AHAB', 'trustfence-sign-tools-native imx-mkimage', 'trustfence-sign-tools-native', d), '', d)}" + oe.utils.conditional('TRUSTFENCE_SIGN_MODE', 'AHAB', 'trustfence-sign-tools-native imx-mkimage', 'trustfence-sign-tools-native', d), '', d)}" IMAGE_TYPES += "cpio.gz.u-boot.tf" ################################################################################ diff --git a/meta-digi-arm/conf/machine/include/ccimx6.inc b/meta-digi-arm/conf/machine/include/ccimx6.inc index 0a4d41c03..25d68619f 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6.inc @@ -44,4 +44,5 @@ MACHINE_EXTRA_RRECOMMENDS += " \ MACHINE_FEATURES += "accel-graphics accel-video wifi bluetooth pci" -SIGN_MODE = "HAB" +# TrustFence +TRUSTFENCE_SIGN_MODE = "HAB" diff --git a/meta-digi-arm/conf/machine/include/ccimx6ul.inc b/meta-digi-arm/conf/machine/include/ccimx6ul.inc index be96b3aba..1c254af7a 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6ul.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6ul.inc @@ -58,4 +58,5 @@ MKUBIFS_BOOT_ARGS ?= "-m 2048 -e 126976 -c 255" # Max LEB count (-c 8191) calculated for a partition of up to 1 GiB considering 128 KiB erase-block size. MKUBIFS_ARGS ?= "-m 2048 -e 126976 -c 8191" -SIGN_MODE = "HAB" +# TrustFence +TRUSTFENCE_SIGN_MODE = "HAB" diff --git a/meta-digi-arm/conf/machine/include/ccimx8x.inc b/meta-digi-arm/conf/machine/include/ccimx8x.inc index 81a3cddb3..0ad9dfb4c 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8x.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8x.inc @@ -75,8 +75,9 @@ VIRTUAL-RUNTIME_initscripts ?= "initscripts" # For i.MX 8 silicon chip revision MX8_CHIP_REV ?= "B0" MX8_SOC_VAR ?= "QX" -SIGN_MODE = "AHAB" +# TrustFence +TRUSTFENCE_SIGN_MODE = "AHAB" # For Trustfence container header RAM locations RAM_CONTAINER_LOC_BOOT = "0x80280000" RAM_CONTAINER_LOC_DTB = "0x82000000" diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend index ab0299104..822c91bda 100644 --- a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend @@ -205,7 +205,7 @@ do_deploy () { } do_deploy_append () { - if [ "${TRUSTFENCE_SIGN}" = "1" ] && [ "${SIGN_MODE}" = "AHAB" ]; then + if [ "${TRUSTFENCE_SIGN}" = "1" ] && [ "${TRUSTFENCE_SIGN_MODE}" = "AHAB" ]; then export CONFIG_SIGN_KEYS_PATH="${TRUSTFENCE_SIGN_KEYS_PATH}" [ -n "${TRUSTFENCE_KEY_INDEX}" ] && export CONFIG_KEY_INDEX="${TRUSTFENCE_KEY_INDEX}" [ -n "${TRUSTFENCE_DEK_PATH}" ] && [ "${TRUSTFENCE_DEK_PATH}" != "0" ] && export CONFIG_DEK_PATH="${TRUSTFENCE_DEK_PATH}" diff --git a/meta-digi-arm/recipes-bsp/trustfence-cst/trustfence-cst.inc b/meta-digi-arm/recipes-bsp/trustfence-cst/trustfence-cst.inc index 9639c584a..0731dbfcf 100644 --- a/meta-digi-arm/recipes-bsp/trustfence-cst/trustfence-cst.inc +++ b/meta-digi-arm/recipes-bsp/trustfence-cst/trustfence-cst.inc @@ -43,12 +43,12 @@ do_install() { install -d ${D}${bindir} install -m 0755 linux64/cst ${D}${bindir}/cst install -m 0755 $(find linux64 -type f -name srktool) ${D}${bindir}/srktool - if [ "${SIGN_MODE}" = "AHAB" ]; then + if [ "${TRUSTFENCE_SIGN_MODE}" = "AHAB" ]; then install -m 0755 keys/ahab_pki_tree.sh ${D}${bindir}/trustfence-gen-pki.sh - elif [ "${SIGN_MODE}" = "HAB" ]; then + elif [ "${TRUSTFENCE_SIGN_MODE}" = "HAB" ]; then install -m 0755 keys/hab4_pki_tree.sh ${D}${bindir}/trustfence-gen-pki.sh else - bberror "Unkown SIGN_MODE value" + bberror "Unkown TRUSTFENCE_SIGN_MODE value" exit 1 fi install -m 0755 ca/openssl.cnf ${D}${bindir}/openssl.cnf diff --git a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc index 68f14fc16..aebfd9e99 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc @@ -79,7 +79,7 @@ do_compile () { unset k # Secure boot artifacts - if [ "${TRUSTFENCE_SIGN}" = "1" ] && [ "${SIGN_MODE}" = "HAB" ] + if [ "${TRUSTFENCE_SIGN}" = "1" ] && [ "${TRUSTFENCE_SIGN_MODE}" = "HAB" ] then cp ${B}/${config}/u-boot-dtb-signed.imx ${B}/${config}/u-boot-dtb-signed-${type}.${UBOOT_SUFFIX} cp ${B}/${config}/u-boot-dtb-usb-signed.imx ${B}/${config}/u-boot-dtb-usb-signed-${type}.${UBOOT_SUFFIX} @@ -122,7 +122,7 @@ do_deploy_append() { cd ${DEPLOYDIR} rm -r ${UBOOT_BINARY}-${type} ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} u-boot-${type}.${UBOOT_SUFFIX} - if [ "${TRUSTFENCE_SIGN}" = "1" ] && [ "${SIGN_MODE}" = "HAB" ]; then + if [ "${TRUSTFENCE_SIGN}" = "1" ] && [ "${TRUSTFENCE_SIGN_MODE}" = "HAB" ]; then install ${B}/${config}/SRK_efuses.bin SRK_efuses-${PV}-${PR}.bin ln -sf SRK_efuses-${PV}-${PR}.bin SRK_efuses.bin @@ -161,7 +161,7 @@ do_deploy_append() { [ -n "${TRUSTFENCE_DEK_PATH}" ] && [ "${TRUSTFENCE_DEK_PATH}" != "0" ] && export CONFIG_DEK_PATH="${TRUSTFENCE_DEK_PATH}" # Sign boot script - if [ "${SIGN_MODE}" = "HAB" ]; then + if [ "${TRUSTFENCE_SIGN_MODE}" = "HAB" ]; then TMP_SIGNED_BOOTSCR="$(mktemp ${WORKDIR}/bootscr-signed.XXXXXX)" trustfence-sign-kernel.sh -p "${DIGI_FAMILY}" -b "${DEPLOYDIR}/boot.scr" "${TMP_SIGNED_BOOTSCR}" mv "${TMP_SIGNED_BOOTSCR}" "${DEPLOYDIR}/boot.scr" diff --git a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools/trustfence-sign-kernel.sh b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools/trustfence-sign-kernel.sh index 9b25083c7..ad5cce588 100755 --- a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools/trustfence-sign-kernel.sh +++ b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools/trustfence-sign-kernel.sh @@ -69,7 +69,7 @@ TARGET="$(readlink -m ${2})" # Negative offset with respect to CONFIG_RAM_START in which U-Boot # copies the DEK blob. -if [ "${SIGN_MODE}" = "HAB" ]; then +if [ "${CONFIG_SIGN_MODE}" = "HAB" ]; then DEK_BLOB_OFFSET="0x100" CONFIG_CSF_SIZE="0x4000" fi @@ -83,7 +83,7 @@ if [ -z "${CONFIG_SIGN_KEYS_PATH}" ]; then fi [ -d "${CONFIG_SIGN_KEYS_PATH}" ] || mkdir "${CONFIG_SIGN_KEYS_PATH}" -if [ "${SIGN_MODE}" = "HAB" ]; then +if [ "${CONFIG_SIGN_MODE}" = "HAB" ]; then if [ -n "${CONFIG_DEK_PATH}" ]; then if [ ! -f "${CONFIG_DEK_PATH}" ]; then echo "DEK not found. Generating random 256 bit DEK." @@ -129,14 +129,14 @@ fi CONFIG_KEY_INDEX_1="$((CONFIG_KEY_INDEX + 1))" SRK_KEYS="$(echo ${CONFIG_SIGN_KEYS_PATH}/crts/SRK*crt.pem | sed s/\ /\,/g)" -if [ "${SIGN_MODE}" = "HAB" ]; then +if [ "${CONFIG_SIGN_MODE}" = "HAB" ]; then CERT_CSF="$(echo ${CONFIG_SIGN_KEYS_PATH}/crts/CSF${CONFIG_KEY_INDEX_1}*crt.pem)" CERT_IMG="$(echo ${CONFIG_SIGN_KEYS_PATH}/crts/IMG${CONFIG_KEY_INDEX_1}*crt.pem)" fi n_commas="$(echo ${SRK_KEYS} | grep -o "," | wc -l)" -if [ "${SIGN_MODE}" = "HAB" ]; then +if [ "${CONFIG_SIGN_MODE}" = "HAB" ]; then if [ "${n_commas}" -eq 3 ] && [ -f "${CERT_CSF}" ] && [ -f "${CERT_IMG}" ]; then # PKI tree already exists. echo "Using existing PKI tree" @@ -151,11 +151,11 @@ if [ "${SIGN_MODE}" = "HAB" ]; then echo "Inconsistent CST folder." exit 1 fi -elif [ "${SIGN_MODE}" = "AHAB" ]; then - if [ "${n_commas}" -eq 3 ] && [ "${SIGN_MODE}" = "AHAB" ]; then +elif [ "${CONFIG_SIGN_MODE}" = "AHAB" ]; then + if [ "${n_commas}" -eq 3 ] && [ "${CONFIG_SIGN_MODE}" = "AHAB" ]; then # PKI tree already exists. Do nothing echo "Using existing PKI tree" - elif [ "${n_commas}" -eq 0 ] && [ "${SIGN_MODE}" = "AHAB" ]; then + elif [ "${n_commas}" -eq 0 ] && [ "${CONFIG_SIGN_MODE}" = "AHAB" ]; then # Generate PKI trustfence-gen-pki.sh "${CONFIG_SIGN_KEYS_PATH}" @@ -167,7 +167,7 @@ elif [ "${SIGN_MODE}" = "AHAB" ]; then fi SRK_TABLE="$(pwd)/SRK_table.bin" -if [ "${SIGN_MODE}" = "HAB" ]; then +if [ "${CONFIG_SIGN_MODE}" = "HAB" ]; then HAB_VER="hab_ver 4" DIGEST="digest" DIGEST_ALGO="sha256" @@ -281,7 +281,7 @@ if [ $? -ne 0 ]; then exit 1 fi -if [ "${SIGN_MODE}" = "HAB" ]; then +if [ "${CONFIG_SIGN_MODE}" = "HAB" ]; then # Pad to IVT objcopy -I binary -O binary --pad-to "${pad_len}" --gap-fill="${GAP_FILLER}" "${UIMAGE_PATH}" "${TARGET}" diff --git a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb index 813464718..0cc7a68ea 100644 --- a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb +++ b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb @@ -27,15 +27,15 @@ do_compile[noexec] = "1" do_install() { install -d ${D}${bindir}/csf_templates - if [ "${SIGN_MODE}" = "AHAB" ]; then + if [ "${TRUSTFENCE_SIGN_MODE}" = "AHAB" ]; then install -m 0755 sign_ahab ${D}${bindir}/csf_templates/ install -m 0755 git/scripts/sign.sh ${D}${bindir}/trustfence-sign-ahab-uboot.sh - elif [ "${SIGN_MODE}" = "HAB" ]; then + elif [ "${TRUSTFENCE_SIGN_MODE}" = "HAB" ]; then install -m 0755 sign_hab ${D}${bindir}/csf_templates/ install -m 0755 encrypt_hab ${D}${bindir}/csf_templates/ install -m 0755 git/scripts/sign.sh ${D}${bindir}/trustfence-sign-uboot.sh else - bberror "Unkown SIGN_MODE value" + bberror "Unkown TRUSTFENCE_SIGN_MODE value" exit 1 fi install -m 0755 trustfence-sign-kernel.sh ${D}${bindir}/ diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey.inc b/meta-digi-arm/recipes-kernel/linux/linux-dey.inc index 66db01319..e7d5800d7 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey.inc +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey.inc @@ -24,7 +24,7 @@ trustfence_sign() { [ -n "${TRUSTFENCE_DEK_PATH}" ] && [ "${TRUSTFENCE_DEK_PATH}" != "0" ] && export CONFIG_DEK_PATH="${TRUSTFENCE_DEK_PATH}" # Sign/encrypt the kernel images - if [ "${SIGN_MODE}" = "HAB" ]; then + if [ "${TRUSTFENCE_SIGN_MODE}" = "HAB" ]; then for type in ${KERNEL_IMAGETYPES}; do KERNEL_IMAGE="${type}-${KERNEL_IMAGE_NAME}.bin" TMP_KERNEL_IMAGE_SIGNED="$(mktemp ${KERNEL_IMAGE}-signed.XXXXXX)" @@ -42,7 +42,7 @@ trustfence_sign() { trustfence-sign-kernel.sh -p "${DIGI_FAMILY}" -d "${DTB_IMAGE}" "${TMP_DTB_IMAGE_SIGNED}" mv "${TMP_DTB_IMAGE_SIGNED}" "${DTB_IMAGE}" done - elif [ "${SIGN_MODE}" = "AHAB" ]; then + elif [ "${TRUSTFENCE_SIGN_MODE}" = "AHAB" ]; then # Sign the kernel images for type in ${KERNEL_IMAGETYPES}; do KERNEL_IMAGE="${type}-${KERNEL_IMAGE_NAME}.bin" @@ -64,7 +64,7 @@ trustfence_sign() { rm -f ${DTB_IMAGE}-mkimg-signed done else - bberror "Unkown SIGN_MODE value" + bberror "Unkown TRUSTFENCE_SIGN_MODE value" exit 1 fi } diff --git a/meta-digi-dey/classes/trustfence.bbclass b/meta-digi-dey/classes/trustfence.bbclass index c54b3b933..229b31d98 100644 --- a/meta-digi-dey/classes/trustfence.bbclass +++ b/meta-digi-dey/classes/trustfence.bbclass @@ -84,7 +84,7 @@ python () { key_index_1 = key_index + 1 # Set the private key template, it will be expanded later in 'swu' recipes once keys are generated. - if (d.getVar("SIGN_MODE", "") == "AHAB"): + if (d.getVar("TRUSTFENCE_SIGN_MODE", "") == "AHAB"): d.setVar("SWUPDATE_PRIVATE_KEY_TEMPLATE", keys_path + "/keys/SRK" + str(key_index_1) + "*key.pem") d.setVar("CONFIG_SIGN_MODE", "AHAB") else: diff --git a/meta-digi-dey/recipes-core/recovery/recovery-initramfs.bb b/meta-digi-dey/recipes-core/recovery/recovery-initramfs.bb index 2df871b24..a05db3d71 100644 --- a/meta-digi-dey/recipes-core/recovery/recovery-initramfs.bb +++ b/meta-digi-dey/recipes-core/recovery/recovery-initramfs.bb @@ -40,12 +40,12 @@ do_install() { KEY_INDEX_1=$(expr ${KEY_INDEX} + 1) # Find the certificate to use. - if [ "${SIGN_MODE}" = "HAB" ]; then + if [ "${TRUSTFENCE_SIGN_MODE}" = "HAB" ]; then CERT_IMG="$(echo ${TRUSTFENCE_SIGN_KEYS_PATH}/crts/IMG${KEY_INDEX_1}*crt.pem)" - elif [ "${SIGN_MODE}" = "AHAB" ]; then + elif [ "${TRUSTFENCE_SIGN_MODE}" = "AHAB" ]; then CERT_IMG="$(echo ${TRUSTFENCE_SIGN_KEYS_PATH}/crts/SRK${KEY_INDEX_1}*_ca_crt.pem)" else - bberror "Unkown SIGN_MODE value" + bberror "Unkown TRUSTFENCE_SIGN_MODE value" exit 1 fi From 826ca9b63d35ed2655b9a7a9636ffc731eb0f08e Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Fri, 7 Feb 2020 16:20:13 +0100 Subject: [PATCH 15/25] trustfence: Export variables that are needed by sign tools. This commit exports variables that are needed by the sign tools to select the target HAB. Signed-off-by: Mike Engel --- meta-digi-arm/classes/image_types_digi.bbclass | 1 + meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend | 1 + meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc | 1 + meta-digi-arm/recipes-kernel/linux/linux-dey.inc | 1 + 4 files changed, 4 insertions(+) diff --git a/meta-digi-arm/classes/image_types_digi.bbclass b/meta-digi-arm/classes/image_types_digi.bbclass index 20c198f2b..a3e0a3f88 100644 --- a/meta-digi-arm/classes/image_types_digi.bbclass +++ b/meta-digi-arm/classes/image_types_digi.bbclass @@ -205,6 +205,7 @@ trustence_sign_cpio() { export CONFIG_SIGN_KEYS_PATH="${TRUSTFENCE_SIGN_KEYS_PATH}" [ -n "${TRUSTFENCE_KEY_INDEX}" ] && export CONFIG_KEY_INDEX="${TRUSTFENCE_KEY_INDEX}" [ -n "${TRUSTFENCE_DEK_PATH}" ] && [ "${TRUSTFENCE_DEK_PATH}" != "0" ] && export CONFIG_DEK_PATH="${TRUSTFENCE_DEK_PATH}" + [ -n "${TRUSTFENCE_SIGN_MODE}" ] && export CONFIG_SIGN_MODE="${TRUSTFENCE_SIGN_MODE}" if [ "${TRUSTFENCE_SIGN_MODE}" = "AHAB" ]; then ${DEPLOY_DIR_IMAGE}/imx-boot-tools/mkimage_imx8 -soc ${MX8_SOC_VAR} -rev ${MX8_CHIP_REV} -c -ap ${1} a35 ${RAM_CONTAINER_LOC_TF} -out ${1}-mkimg diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend index 822c91bda..8ac1cda2d 100644 --- a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend @@ -209,6 +209,7 @@ do_deploy_append () { export CONFIG_SIGN_KEYS_PATH="${TRUSTFENCE_SIGN_KEYS_PATH}" [ -n "${TRUSTFENCE_KEY_INDEX}" ] && export CONFIG_KEY_INDEX="${TRUSTFENCE_KEY_INDEX}" [ -n "${TRUSTFENCE_DEK_PATH}" ] && [ "${TRUSTFENCE_DEK_PATH}" != "0" ] && export CONFIG_DEK_PATH="${TRUSTFENCE_DEK_PATH}" + [ -n "${TRUSTFENCE_SIGN_MODE}" ] && export CONFIG_SIGN_MODE="${TRUSTFENCE_SIGN_MODE}" # Sign U-boot image for ramc in ${RAM_CONFIGS}; do diff --git a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc index aebfd9e99..0daed7732 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc @@ -159,6 +159,7 @@ do_deploy_append() { export CONFIG_SIGN_KEYS_PATH="${TRUSTFENCE_SIGN_KEYS_PATH}" [ -n "${TRUSTFENCE_KEY_INDEX}" ] && export CONFIG_KEY_INDEX="${TRUSTFENCE_KEY_INDEX}" [ -n "${TRUSTFENCE_DEK_PATH}" ] && [ "${TRUSTFENCE_DEK_PATH}" != "0" ] && export CONFIG_DEK_PATH="${TRUSTFENCE_DEK_PATH}" + [ -n "${TRUSTFENCE_SIGN_MODE}" ] && export CONFIG_SIGN_MODE="${TRUSTFENCE_SIGN_MODE}" # Sign boot script if [ "${TRUSTFENCE_SIGN_MODE}" = "HAB" ]; then diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey.inc b/meta-digi-arm/recipes-kernel/linux/linux-dey.inc index e7d5800d7..9d9afb3e3 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey.inc +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey.inc @@ -22,6 +22,7 @@ trustfence_sign() { export CONFIG_SIGN_KEYS_PATH="${TRUSTFENCE_SIGN_KEYS_PATH}" [ -n "${TRUSTFENCE_KEY_INDEX}" ] && export CONFIG_KEY_INDEX="${TRUSTFENCE_KEY_INDEX}" [ -n "${TRUSTFENCE_DEK_PATH}" ] && [ "${TRUSTFENCE_DEK_PATH}" != "0" ] && export CONFIG_DEK_PATH="${TRUSTFENCE_DEK_PATH}" + [ -n "${TRUSTFENCE_SIGN_MODE}" ] && export CONFIG_SIGN_MODE="${TRUSTFENCE_SIGN_MODE}" # Sign/encrypt the kernel images if [ "${TRUSTFENCE_SIGN_MODE}" = "HAB" ]; then From e648d9a142566164de5fb2c216587ebc67305135 Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Fri, 7 Feb 2020 16:25:43 +0100 Subject: [PATCH 16/25] trustfence: Add dependency to include imx-mkimage package. This commit adds some dependencies to include the imx-mkimage package that is needed to use the mkimage_imx8 tool. Signed-off-by: Mike Engel --- meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc | 3 ++- meta-digi-arm/recipes-kernel/linux/linux-dey.inc | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc index 0daed7732..12c7edba3 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc @@ -8,7 +8,8 @@ LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6" SECTION = "bootloaders" DEPENDS += "bc-native dtc-native u-boot-mkimage-native" -DEPENDS += "${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', 'trustfence-sign-tools-native', '', d)}" +DEPENDS += "${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', \ + oe.utils.conditional('TRUSTFENCE_SIGN_MODE', 'AHAB', 'trustfence-sign-tools-native imx-mkimage', 'trustfence-sign-tools-native', d), '', d)}" PROVIDES += "u-boot" diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey.inc b/meta-digi-arm/recipes-kernel/linux/linux-dey.inc index 9d9afb3e3..f057b8344 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey.inc +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey.inc @@ -5,7 +5,8 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" DEPENDS += "lzop-native bc-native" -DEPENDS += "${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', 'trustfence-sign-tools-native', '', d)}" +DEPENDS += "${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', \ + oe.utils.conditional('TRUSTFENCE_SIGN_MODE', 'AHAB', 'trustfence-sign-tools-native imx-mkimage', 'trustfence-sign-tools-native', d), '', d)}" inherit kernel fsl-kernel-localversion From f103bc78af207b3fdffe6406a4f76791d323ac22 Mon Sep 17 00:00:00 2001 From: Mike Engel Date: Fri, 7 Feb 2020 16:27:45 +0100 Subject: [PATCH 17/25] trustfence: Change u-boot to v2019.04 This commit changes the u-boot sources needed to create standalone signing tools to 2019.04. This u-boot supports all Trustfence platforms. Signed-off-by: Mike Engel --- .../recipes-digi/trustfence/trustfence-sign-tools_git.bb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb index 0cc7a68ea..222cb23af 100644 --- a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb +++ b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb @@ -5,8 +5,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425 DEPENDS = "trustfence-cst coreutils util-linux" -SRCBRANCH = "v2017.03/maint" -SRCBRANCH_ccimx8x = "v2019.04/maint" +SRCBRANCH = "v2019.04/maint" SRCREV = "${AUTOREV}" S = "${WORKDIR}" From 8d77f179df863f717e3fd77b1aa89951cc0f0d5e Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Mon, 10 Feb 2020 12:00:41 +0100 Subject: [PATCH 18/25] README: add support for TrustFence on ConnectCore 8X platform. Signed-off-by: Hector Palacios --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index e4e074773..a50509be1 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,8 @@ Documentation is available online at https://www.digi.com/resources/documentatio * Release based on [Yocto 2.6 (Thud)](https://www.yoctoproject.org/software-overview/downloads) including: * Package upgrades and security fixes * Added support for ConnectCore 8M Nano platform +* Add TrustFence support (phase 1) for ConnectCore 8X platform + (with U-Boot v2019.04). * Updated kernel version to v4.14.170 for i.MX8X and i.MX6UL platforms * Updated kernel version to v4.9.212 for i.MX6 platforms * Updated U-Boot to version 2019.04-r1 for i.MX8X platform @@ -155,7 +157,7 @@ updated list can be found on the online documentation. (over 255 characters). * For P2P connections Digi recommends "Negotiated GO" modes. The QCA6564 devices (ConnectCore 6UL, ConnectCore 6 Plus) fail to join autonomous groups. -* Trustfence is not yet supported on U-Boot v2018.03. +* Trustfence is not yet supported on the ConnectCore 8M Nano. ## ConnectCore 8M Nano @@ -175,22 +177,20 @@ updated list can be found on the online documentation. be met in future releases of the hardware. * BSDL operation is not supported. It will be available in future releases of the hardware. -* Digi Embedded Yocto - * The following features are not supported in this release for the ConnectCore 8X platform: - * Trustfence (TM) --- - **IMPORTANT**: This release updates the firmware of the _System Control Unit_ (SCU). - This is an NXP proprietary firmware and its last version is **not compatible** with - the previous one released on DEY-2.6-r1. As a consequence: + **IMPORTANT**: DEY-2.6-r2 and DEY-2.6-r3 releases update the firmware of the + _System Control Unit_ (SCU). + This is an NXP proprietary firmware and its version in these releases is + **not compatible** with the one released on DEY-2.6-r1. As a consequence: -* Old U-Boot v2018.03-r1 **cannot boot** images from this release DEY-2.6-r2. -* New U-Boot v2018.03-r2 **cannot boot** images from previous release DEY-2.6-r1. - - To succesfully run DEY-2.6-r2 images you need to update the U-Boot on your device. +* Old U-Boot v2018.03-r1 **cannot boot** images from DEY-2.6-r2 or newer releases. +* U-Boot v2018.03-r2 or newer **cannot boot** images from release DEY-2.6-r1. + To successfully run DEY-2.6-r2 or newer images you need to update the U-Boot on + your device. --- ## ConnectCore 6UL From 6c9341bd8a8db874480d03c8598edfbcd3bf4a18 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Mon, 10 Feb 2020 13:22:56 +0100 Subject: [PATCH 19/25] trustfence: disable environment encryption for CC8X Environment encryption is not yet supported in U-Boot. Unset TRUSTFENCE_ENCRYPT_ENVIRONMENT on the machine configuration and remove the platform conditional on the class. Signed-off-by: Hector Palacios --- meta-digi-arm/conf/machine/include/ccimx8x.inc | 2 ++ meta-digi-dey/classes/trustfence.bbclass | 6 +----- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/meta-digi-arm/conf/machine/include/ccimx8x.inc b/meta-digi-arm/conf/machine/include/ccimx8x.inc index 0ad9dfb4c..77d8d7a5d 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8x.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8x.inc @@ -78,6 +78,8 @@ MX8_SOC_VAR ?= "QX" # TrustFence TRUSTFENCE_SIGN_MODE = "AHAB" +# TODO: not yet supported +TRUSTFENCE_ENCRYPT_ENVIRONMENT = "0" # For Trustfence container header RAM locations RAM_CONTAINER_LOC_BOOT = "0x80280000" RAM_CONTAINER_LOC_DTB = "0x82000000" diff --git a/meta-digi-dey/classes/trustfence.bbclass b/meta-digi-dey/classes/trustfence.bbclass index 229b31d98..0ef382baa 100644 --- a/meta-digi-dey/classes/trustfence.bbclass +++ b/meta-digi-dey/classes/trustfence.bbclass @@ -63,11 +63,7 @@ python () { if (d.getVar("TRUSTFENCE_DEK_PATH", True) not in [None, "0"]): d.appendVar("UBOOT_EXTRA_CONF", 'CONFIG_DEK_PATH=\\"%s\\" ' % d.getVar("TRUSTFENCE_DEK_PATH", True)) if (d.getVar("TRUSTFENCE_ENCRYPT_ENVIRONMENT", True) == "1"): - if ("ccimx8x" in d.getVar("MACHINE", True)): - bb.fatal("Environment encryption is not currently supported on the ccimx8x SOM") - return - else: - d.appendVar("UBOOT_EXTRA_CONF", 'CONFIG_ENV_AES=y CONFIG_ENV_AES_CAAM_KEY=y') + d.appendVar("UBOOT_EXTRA_CONF", 'CONFIG_ENV_AES=y CONFIG_ENV_AES_CAAM_KEY=y') # Provide sane default values for SWUPDATE class in case Trustfence is enabled if (d.getVar("TRUSTFENCE_SIGN", True) == "1"): From b0ef3ea14fb34229b8d5540e4986341b925e15ff Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Tue, 11 Feb 2020 12:09:47 +0100 Subject: [PATCH 20/25] imx-mkimage: install mkimage_imx8 binaries to BOOT_TOOLS This binary is required for signing the U-Boot scripts generated by the U-Boot recipe but it wasn't available because this recipe was not installing it anywhere. At the same time, remove the installation from imx-boot, to avoid a conflict between the two (imx-mkimage is a dependency from imx-boot anyway). Signed-off-by: Hector Palacios --- meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend | 1 - .../recipes-bsp/imx-mkimage/imx-mkimage_%.bbappend | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend index 8ac1cda2d..a66c824f0 100644 --- a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend @@ -160,7 +160,6 @@ do_deploy () { install -m 0644 ${BOOT_STAGING}/m40_tcm.bin ${DEPLOYDIR}/${BOOT_TOOLS} install -m 0644 ${BOOT_STAGING}/m4_image.bin ${DEPLOYDIR}/${BOOT_TOOLS} fi - install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} # copy makefile (soc.mak) for reference install -m 0644 ${BOOT_STAGING}/soc.mak ${DEPLOYDIR}/${BOOT_TOOLS} diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_%.bbappend b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_%.bbappend index 079e27b22..95f53f04c 100644 --- a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_%.bbappend +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-mkimage_%.bbappend @@ -3,3 +3,9 @@ # Use the v4.14 ga BSP branch SRCBRANCH = "imx_4.14.98_2.3.0" SRCREV = "2556000499f667123094af22326cfd8e4cbadaac" + +do_deploy_append () { + install -d ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0755 ${S}/iMX8M/mkimage_imx8 ${DEPLOYDIR}/${BOOT_TOOLS}/mkimage_imx8m + install -m 0755 ${S}/mkimage_imx8 ${DEPLOYDIR}/${BOOT_TOOLS}/mkimage_imx8 +} From b1776fcc63a83f538ec3a32c644a474f30de4215 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Tue, 11 Feb 2020 18:45:17 +0100 Subject: [PATCH 21/25] trustfence-sign-kernel.sh: don't generate SRK_efuses for DEY sign script The only script that needs to generate the SRK_efuses is the sign.sh script in the U-Boot code. For the rest of signed non-bootable artifacts this is not required and it was creating the SRK_efuses file on every recipe where the script was called, like linux-dey and others, which eventually resulted in a conflict when copying the artifacts to the shared deploy-image-dir. Signed-off-by: Hector Palacios --- .../trustfence-sign-tools/trustfence-sign-kernel.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools/trustfence-sign-kernel.sh b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools/trustfence-sign-kernel.sh index ad5cce588..bdba4933a 100755 --- a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools/trustfence-sign-kernel.sh +++ b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools/trustfence-sign-kernel.sh @@ -171,7 +171,6 @@ if [ "${CONFIG_SIGN_MODE}" = "HAB" ]; then HAB_VER="hab_ver 4" DIGEST="digest" DIGEST_ALGO="sha256" - SRK_EFUSES="/dev/null" # Other constants GAP_FILLER="0x00" @@ -243,8 +242,6 @@ if [ "${CONFIG_SIGN_MODE}" = "HAB" ]; then "${SCRIPT_PATH}/csf_templates/sign_hab" > csf_descriptor fi else - SRK_EFUSES="$(pwd)/SRK_efuses.bin" - # Other constants KERNEL_START_OFFSET="0x0" KERNEL_SIG_BLOCK_OFFSET="0x90" @@ -275,7 +272,7 @@ else fi # Generate SRK tables -srktool --${HAB_VER} --certs "${SRK_KEYS}" --table "${SRK_TABLE}" --efuses "${SRK_EFUSES}" --${DIGEST} "${DIGEST_ALGO}" +srktool --${HAB_VER} --certs "${SRK_KEYS}" --table "${SRK_TABLE}" --efuses /dev/null --${DIGEST} "${DIGEST_ALGO}" if [ $? -ne 0 ]; then echo "[ERROR] Could not generate SRK tables" exit 1 From d21462302dba49e0f0f350906092bfd8906695b8 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Tue, 11 Feb 2020 18:50:18 +0100 Subject: [PATCH 22/25] trustfence-sign-tools: homogenize the sign script filename The recipe needs to create a copy of the sign.sh script to be used by other recipes, but the file is the same whether you use it for HAB or AHAB images. This is determined through the use of an exported variable with the mode. There is no need to have the script duplicated. Signed-off-by: Hector Palacios --- meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend | 2 +- .../recipes-digi/trustfence/trustfence-sign-tools_git.bb | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend index a66c824f0..038f0f119 100644 --- a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend @@ -212,7 +212,7 @@ do_deploy_append () { # Sign U-boot image for ramc in ${RAM_CONFIGS}; do - trustfence-sign-ahab-uboot.sh ${DEPLOYDIR}/${UBOOT_PREFIX}-${MACHINE}-${ramc}.bin ${DEPLOYDIR}/${UBOOT_PREFIX}-${MACHINE}-${ramc}-signed.bin + trustfence-sign-uboot.sh ${DEPLOYDIR}/${UBOOT_PREFIX}-${MACHINE}-${ramc}.bin ${DEPLOYDIR}/${UBOOT_PREFIX}-${MACHINE}-${ramc}-signed.bin done cd ${DEPLOYDIR} diff --git a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb index 222cb23af..a0481ea65 100644 --- a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb +++ b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb @@ -28,15 +28,14 @@ do_install() { install -d ${D}${bindir}/csf_templates if [ "${TRUSTFENCE_SIGN_MODE}" = "AHAB" ]; then install -m 0755 sign_ahab ${D}${bindir}/csf_templates/ - install -m 0755 git/scripts/sign.sh ${D}${bindir}/trustfence-sign-ahab-uboot.sh elif [ "${TRUSTFENCE_SIGN_MODE}" = "HAB" ]; then install -m 0755 sign_hab ${D}${bindir}/csf_templates/ install -m 0755 encrypt_hab ${D}${bindir}/csf_templates/ - install -m 0755 git/scripts/sign.sh ${D}${bindir}/trustfence-sign-uboot.sh else bberror "Unkown TRUSTFENCE_SIGN_MODE value" exit 1 fi + install -m 0755 git/scripts/sign.sh ${D}${bindir}/trustfence-sign-uboot.sh install -m 0755 trustfence-sign-kernel.sh ${D}${bindir}/ install -m 0755 git/scripts/csf_templates/* ${D}${bindir}/csf_templates } From 5d063d6906d8310de7ca4fc471677026fb188930 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Wed, 12 Feb 2020 12:21:58 +0100 Subject: [PATCH 23/25] imx-boot: simplify copy of SRK_efuses.bin to DEPLOYDIR There is no need to generate PV-PR revision of this file since it's the same for any version. Signed-off-by: Hector Palacios --- meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend index 038f0f119..5c184bc7a 100644 --- a/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend +++ b/meta-digi-arm/recipes-bsp/imx-mkimage/imx-boot_0.2.bbappend @@ -215,10 +215,7 @@ do_deploy_append () { trustfence-sign-uboot.sh ${DEPLOYDIR}/${UBOOT_PREFIX}-${MACHINE}-${ramc}.bin ${DEPLOYDIR}/${UBOOT_PREFIX}-${MACHINE}-${ramc}-signed.bin done - cd ${DEPLOYDIR} - cp ${B}/${config}SRK_efuses.bin ${DEPLOYDIR} - install ${B}/${config}SRK_efuses.bin SRK_efuses-${PV}-${PR}.bin - ln -sf SRK_efuses-${PV}-${PR}.bin SRK_efuses.bin + cp ${B}/SRK_efuses.bin ${DEPLOYDIR} fi } From fa4fabe7dd06f81ae1463d36056d56cc638091d8 Mon Sep 17 00:00:00 2001 From: Gonzalo Ruiz Date: Wed, 12 Feb 2020 19:06:48 +0100 Subject: [PATCH 24/25] README: add cc8mnano to the list of supported platforms Also link SCFW note to latest release changelog entry. Signed-off-by: Gonzalo Ruiz --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a50509be1..3b58d2ccc 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,12 @@ OS versions: Software for the following hardware platforms is in production support: +## ConnectCore 8M Nano +* ConnectCore 8M Nano System-on-Module (SOM) + * [CC-WMX-FS7D-NN](https://www.digi.com/cc8mnano) +* ConnectCore 8M Nano Development Kit + * [CC-WMX8MN-KIT](https://www.digi.com/products/models/cc-wmx8mn-kit) ([Get Started](https://www.digi.com/resources/documentation/digidocs/embedded/dey/2.6/cc8mnano/yocto-gs_index)) + ## ConnectCore 8X * ConnectCore 8X System-on-Module (SOM) * [CC-WMX-JM8E-NN](https://www.digi.com/products/models/cc-wmx-jm8e-nn) @@ -102,7 +108,7 @@ Documentation is available online at https://www.digi.com/resources/documentatio * Updated kernel version to v4.9.212 for i.MX6 platforms * Updated U-Boot to version 2019.04-r1 for i.MX8X platform * Updated U-Boot to version 2017.03-r5 for i.MX6 and i.MX6UL platforms -* Updated i.MX8 SCU firmware to v1.3.0 +* Updated i.MX8 SCU firmware to v1.3.0 (see [important note](#scfw-note)) * Updated QCA65x4 Wi-Fi and Bluetooth firmware ## 2.6-r2 From 1830798025597dde6285dd51ecf32b66e8a16c8f Mon Sep 17 00:00:00 2001 From: Arturo Buzarra Date: Thu, 13 Feb 2020 14:17:38 +0100 Subject: [PATCH 25/25] meta-digi: update revisions for dey-2.6-r3.1 Signed-off-by: Arturo Buzarra --- meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc | 2 +- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb | 2 +- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb | 2 +- meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2019.04.bb | 2 +- .../recipes-digi/trustfence/trustfence-sign-tools_git.bb | 4 ++-- .../kernel-module-qualcomm/kernel-module-qualcomm.bb | 4 ++-- meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc | 5 +++-- .../recipes-digi/cloudconnector/cloudconnector_git.bb | 4 ++-- meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc | 2 +- meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb | 4 ++-- 10 files changed, 16 insertions(+), 15 deletions(-) diff --git a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc index 12c7edba3..b0b5936b6 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/digi-u-boot.inc @@ -19,7 +19,7 @@ S = "${WORKDIR}/git" UBOOT_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}u-boot-denx.git', '${DIGI_GITHUB_GIT}/u-boot.git;protocol=https', d)}" SRC_URI = " \ - ${UBOOT_GIT_URI};branch=${SRCBRANCH} \ + ${UBOOT_GIT_URI};nobranch=1 \ " SRC_URI_append = " \ diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb index 3cf75fbd9..6365b5460 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2017.03.bb @@ -3,6 +3,6 @@ require digi-u-boot.inc SRCBRANCH = "v2017.03/maint" -SRCREV = "${AUTOREV}" +SRCREV = "d8c37fac9ab8ee70db274c1ebbe168219bc9cd94" COMPATIBLE_MACHINE = "(ccimx6$|ccimx6ul|ccimx8x)" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb index dd3b5a540..06385967d 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2018.03.bb @@ -3,6 +3,6 @@ require digi-u-boot.inc SRCBRANCH = "v2018.03/maint" -SRCREV = "${AUTOREV}" +SRCREV = "726ff0f9f20d3d6a626dbdfda0ecf750c20e696b" COMPATIBLE_MACHINE = "(ccimx8x|ccimx8m)" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2019.04.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2019.04.bb index f5e812866..92ad65fa4 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2019.04.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2019.04.bb @@ -6,6 +6,6 @@ LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e" DEPENDS += "flex-native bison-native" SRCBRANCH = "v2019.04/maint" -SRCREV = "${AUTOREV}" +SRCREV = "1d066a06cbf2f8cc7fa951a22f6e3ecd3a7666e7" COMPATIBLE_MACHINE = "(ccimx8x)" \ No newline at end of file diff --git a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb index a0481ea65..2f33d289d 100644 --- a/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb +++ b/meta-digi-arm/recipes-digi/trustfence/trustfence-sign-tools_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425 DEPENDS = "trustfence-cst coreutils util-linux" SRCBRANCH = "v2019.04/maint" -SRCREV = "${AUTOREV}" +SRCREV = "1d066a06cbf2f8cc7fa951a22f6e3ecd3a7666e7" S = "${WORKDIR}" @@ -14,7 +14,7 @@ S = "${WORKDIR}" UBOOT_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}u-boot-denx.git', '${DIGI_GITHUB_GIT}/u-boot.git;protocol=https', d)}" SRC_URI = " \ - ${UBOOT_GIT_URI};branch=${SRCBRANCH} \ + ${UBOOT_GIT_URI};nobranch=1 \ file://trustfence-sign-kernel.sh;name=kernel-script \ file://sign_hab;name=kernel-sign \ file://encrypt_hab;name=kernel-encrypt \ diff --git a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb index d6488aa5f..f81e4fe55 100644 --- a/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb +++ b/meta-digi-arm/recipes-kernel/kernel-module-qualcomm/kernel-module-qualcomm.bb @@ -9,12 +9,12 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca PV = "v4.0.11.213X" SRCBRANCH = "qca65X4/dey-2.6/maint" -SRCREV = "${AUTOREV}" +SRCREV = "3c152d4666a6fd2e1ae23f231bf46e61a30204ba" QCOM_GIT_URI = "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_MTK_GIT}linux/qcacld-2.0.git;protocol=ssh', '${DIGI_GITHUB_GIT}/qcacld-2.0.git;protocol=https', d)}" SRC_URI = " \ - ${QCOM_GIT_URI};branch=${SRCBRANCH} \ + ${QCOM_GIT_URI};nobranch=1 \ " # Selects whether the interface is SDIO or PCI diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc b/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc index 3166424f9..80317d9fb 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey-src.inc @@ -6,10 +6,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" LOCALVERSION = "-dey" SRCBRANCH = "v4.14/dey-2.6/maint" SRCBRANCH_ccimx6 = "v4.9/dey-2.6/maint" -SRCREV = "${AUTOREV}" +SRCREV = "8dbae0c90779edf86a76487738b7d85cd6d1d615" +SRCREV_ccimx6 = "bbd1f117825fa576fe048ee3df13bf51f65c2e66" # Select internal or Github Linux repo LINUX_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${DIGI_GIT}linux-2.6.git', '${DIGI_GITHUB_GIT}/linux.git;protocol=https', d)}" -SRC_URI = "${LINUX_GIT_URI};branch=${SRCBRANCH}" +SRC_URI = "${LINUX_GIT_URI};nobranch=1" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb index d5501cdd7..a906fad5d 100644 --- a/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb +++ b/meta-digi-dey/recipes-digi/cloudconnector/cloudconnector_git.bb @@ -8,14 +8,14 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MPL-2.0;md5=815ca599c9df247a0c7 DEPENDS = "confuse openssl recovery-utils zlib" SRCBRANCH = "master" -SRCREV = "${AUTOREV}" +SRCREV = "35943b2466c9357cdd4e5c165f26149d82ed51f6" CC_STASH = "gitsm://git@stash.digi.com/cc/cc_dey.git;protocol=ssh" CC_GITHUB = "gitsm://github.com/digi-embedded/cc_dey.git;protocol=https" CC_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${CC_STASH}', '${CC_GITHUB}', d)}" -SRC_URI = "${CC_GIT_URI};branch=${SRCBRANCH}" +SRC_URI = "${CC_GIT_URI};nobranch=1" S = "${WORKDIR}/git" diff --git a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc index a9549eece..245351299 100644 --- a/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc +++ b/meta-digi-dey/recipes-digi/dey-examples/dey-examples-src.inc @@ -1,7 +1,7 @@ # Copyright (C) 2019, Digi International Inc. SRCBRANCH = "dey-2.6/maint" -SRCREV = "${AUTOREV}" +SRCREV = "af624592e65632ccf33926bce5e89e62545a527c" DEY_EXAMPLES_STASH = "${DIGI_MTK_GIT}dey/dey-examples.git;protocol=ssh" DEY_EXAMPLES_GITHUB = "${DIGI_GITHUB_GIT}/dey-examples.git;protocol=https" diff --git a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb index 23f520cb1..f3baa41b3 100644 --- a/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb +++ b/meta-digi-dey/recipes-digi/libdigiapix/libdigiapix_git.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca DEPENDS = "libsoc libsocketcan" SRCBRANCH ?= "dey-2.6/maint" -SRCREV = "${AUTOREV}" +SRCREV = "7f8108e4389e0b8f19f036d06c973181415c48b6" LIBDIGIAPIX_URI_STASH = "${DIGI_MTK_GIT}dey/libdigiapix.git;protocol=ssh" LIBDIGIAPIX_URI_GITHUB = "${DIGI_GITHUB_GIT}/libdigiapix.git;protocol=https" @@ -17,7 +17,7 @@ LIBDIGIAPIX_URI_GITHUB = "${DIGI_GITHUB_GIT}/libdigiapix.git;protocol=https" LIBDIGIAPIX_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${LIBDIGIAPIX_URI_STASH}', '${LIBDIGIAPIX_URI_GITHUB}', d)}" SRC_URI = " \ - ${LIBDIGIAPIX_GIT_URI};branch=${SRCBRANCH} \ + ${LIBDIGIAPIX_GIT_URI};nobranch=1 \ file://99-digiapix.rules \ file://libdigiapix.conf \ file://digiapix.sh \