Merge tag 'dey-2.4-r2.2' into dey-2.4/master

Digi Embedded Yocto 2.4-r2.2

Manually changed recipes to use the master branches instead of the fixed SHA1
from the last release.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit is contained in:
Gabriel Valcazar 2019-01-04 11:40:38 +01:00
commit 055c333c5e
10 changed files with 205 additions and 64 deletions

View File

@ -1,14 +1,11 @@
# Digi Embedded Yocto (DEY) 2.4
## Release 2.4-r2.4-beta
## Release 2.4-r2.2
This document provides information about Digi Embedded Yocto,
Digi International's professional embedded Yocto development environment.
Digi Embedded Yocto 2.4 is based on the Yocto Project(TM) 2.4 (Rocko) release.
This is a beta release for the ConnectCore 8X SBC Express. The rest of the
platforms are supported but have not been fully tested.
For a full list of supported features and interfaces please refer to the
online documentation.
@ -70,6 +67,8 @@ Software for the following hardware platforms is in production support:
* [CC-MX-JN7D-ZN](https://www.digi.com/cc8x)
* ConnectCore 8X SBC Express
* [CC-WMX8-EXPRESS](https://www.digi.com/cc8x)
* ConnectCore 8X SBC Pro
* [CC-WMX8-PRO](https://www.digi.com/cc8x)
Previous versions of Digi Embedded Yocto include support for additional Digi
hardware.
@ -83,33 +82,26 @@ To install, please follow the instructions at the dey-manifest [README](https://
# Documentation
Documentation is available online on the Digi documentation site:
* [ConnectCore 6UL SBC Express](https://www.digi.com/resources/documentation/digidocs/90001548/default.htm)
* [ConnectCore 6UL SBC Pro](https://www.digi.com/resources/documentation/digidocs/90001547/default.htm)
* [ConnectCore 6 SBC](https://www.digi.com/resources/documentation/digidocs/90001546/default.htm)
* [ConnectCore 6 Plus SBC](https://www.digi.com/resources/documentation/digidocs/90002275/default.htm)
* [ConnectCore 8X SBC Express](https://www.digi.com/cc8x/documentation)
Documentation is available online at https://www.digi.com/resources/documentation/digidocs/embedded/
# Downloads
* Demo images: ftp://ftp1.digi.com/support/digiembeddedyocto/2.4/r2-beta/images/
* Software Development Kit (SDK): ftp://ftp1.digi.com/support/digiembeddedyocto/2.4/r2-beta/sdk/
* Demo images: ftp://ftp1.digi.com/support/digiembeddedyocto/2.4/r2/images/
* Software Development Kit (SDK): ftp://ftp1.digi.com/support/digiembeddedyocto/2.4/r2/sdk/
# Release Changelog
## 2.4-r2.4-beta
## 2.4-r2.1
* Added support for ConnectCore 8X platform. Supported features:
* Bluetooth and Wireless interfaces (STA, SoftAP, P2P, Concurrence)
* MCA: Reset, Watchdog, RTC, GPIOs and ADCs
* SBC Express interfaces: Ethernet, microSD, UART, I2C, CAN, SPI, USB host,
USB device, GPIOs, XBee, LVDS Display, Touch Screen controller
* Graphics and Video
* Updated U-Boot to version 2017.03-r1
* Updated U-Boot to version 2017.03-r2
* Fixed XBee RESET_N polarity assertion. Requires updating polarity of the
``digi,reset-gpio`` property of node ``xbee`` on device tree files derived from
ConnectCore 6UL SBC Pro to use polarity **GPIO_ACTIVE_LOW**
* Updated AWS Greengrass core to version 1.7.0
* Updated kernel version to v4.9.135 for i.MX6 and i.MX6UL platforms.
## 2.4-r1
@ -139,6 +131,7 @@ boot a signed U-Boot only.
* For P2P connections Digi recommends "Negotiated GO" modes. The QCA6564
devices (ConnectCore 6UL and ConnectCore 6 Plus) running a 4.9 kernel
version fail to join to autonomous groups.
* Trustfence secure console is not supported on U-Boot v2017.03. In order to use this functionality, U-Boot v2015.04 will be required.
## ConnectCore 6UL
@ -192,10 +185,6 @@ boot a signed U-Boot only.
* i.MX8QXP Processor
* The following processor features are not supported in this BSP release:
Power Management, PWM, ADC, RS485. They will be implemented in future releases.
* VPU unit is not fully functional, hence hardware video encoding/decoding is
not available. On this release, video encoding/decoding can be done via
software plugins, reducing the performance of video playback. This will be
available in future releases of the hardware.
* GPU maximum performance reduced. The maximum frequency targets are 850 MHz
for the shaders and 700 MHz for the core. However, in this hardware release
the maximum frequency is limited to 650 MHz for the shaders and 600 MHz for
@ -203,26 +192,12 @@ boot a signed U-Boot only.
be met in future releases of the hardware.
* BSDL operation is not supported. It will be available in future releases
of the hardware.
* ConnectCore 8X System-on-Module (SOM)
* The UART connected to the Bluetooth chip on early versions of the ConnectCore
8X System-on-Module (hardware version = 1) cannot properly execute flow
control. To work around this issue, UART1 of these SOM versions has been
configured to operate at 115200 bps and without hardware flow control,
reducing the maximum throughput of this interface. It will be fixed in
future releases of the hardware.
* MCA firmware cannot be updated without a debugger on early versions of the
ConnectCore 8X System-on-Module (hardware version = 1). It will be fixed in
future releases of the hardware.
* MCA internal voltage reference cannot be enabled on early versions of the
ConnectCore 8X System-on-Module (hardware version = 1). It will be fixed in
future releases of the hardware.
* MCA tamper pins configuration is not supported. It will be available in
future releases.
* ConnectCore 8X SBC Pro
* USB 3.0 not supported.
* Digi Embedded Yocto
* The following features are not supported in this release:
* The following features are not supported in this release for the ConnectCore 8X plaform:
* Trustfence (TM)
* Digi Remote Manager
* Amazon Web Services
# Support Contact Information

View File

@ -11,8 +11,8 @@ inherit pkgconfig deploy
SRC_URI = "${DIGI_PKG_SRC}/${PN}-${PV}.tar.gz"
SRC_URI[md5sum] = "1f8e370c9f25e6b03acc403c8487c7bd"
SRC_URI[sha256sum] = "67ea4ffed833c235b71dec592dc71659260da36eefa2958b8d51f200b50f3914"
SRC_URI[md5sum] = "3b6f34d30d2d6b72e0bda741eec71573"
SRC_URI[sha256sum] = "9879c904532815e4fe1ae1375b10d49b2f90f06e21790049867d0d258c2c030e"
S = "${WORKDIR}/${PN}-${PV}"

View File

@ -41,6 +41,8 @@ else
setenv fdt_file zImage-imx6dl-ccimx6sbc-wb.dtb
elif test "${module_variant}" = "0x14"; then
setenv fdt_file zImage-imx6q-ccimx6sbc.dtb
elif test "${module_variant}" = "0x15"; then
setenv fdt_file zImage-imx6dl-ccimx6sbc.dtb
else
echo "------ Using default fdt_file"
fi

View File

@ -27,7 +27,7 @@ if test -n "${module_variant}"; then
setenv INSTALL_UBOOT_FILENAME u-boot-ccimx6qsbc.imx;
elif test "${module_variant}" = "0x03" || test "${module_variant}" = "0x0e" || test "${module_variant}" = "0x0f"; then
setenv INSTALL_UBOOT_FILENAME u-boot-ccimx6qsbc512MB.imx;
elif test "${module_variant}" = "0x0b"; then
elif test "${module_variant}" = "0x0b" || test "${module_variant}" = "0x15"; then
setenv INSTALL_UBOOT_FILENAME u-boot-ccimx6dlsbc.imx;
elif test "${module_variant}" = "0x0c" || test "${module_variant}" = "0x13"; then
setenv INSTALL_UBOOT_FILENAME u-boot-ccimx6dlsbc512MB.imx;

View File

@ -117,13 +117,18 @@ do_deploy_append() {
# u-boot-<type>
# and add a more suitable symlink in the form:
# u-boot-<platform>-<config>.<ext>
if [ -n "${UBOOT_CONFIG}" ] && [ "${TRUSTFENCE_SIGN}" = "1" ]
if [ -n "${UBOOT_CONFIG}" ]
then
for config in ${UBOOT_MACHINE}; do
i=$(expr $i + 1);
for type in ${UBOOT_CONFIG}; do
j=$(expr $j + 1);
if [ $j -eq $i ]
then
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" ]
then
install ${B}/${config}/SRK_efuses.bin SRK_efuses-${PV}-${PR}.bin
ln -sf SRK_efuses-${PV}-${PR}.bin SRK_efuses.bin
@ -140,6 +145,7 @@ do_deploy_append() {
ln -sf u-boot-dtb-encrypted-${type}-${PV}-${PR}.${UBOOT_SUFFIX} u-boot-dtb-encrypted-${type}.${UBOOT_SUFFIX}
fi
fi
fi
done
unset j
done

View File

@ -8,13 +8,13 @@ PKGNAME = "mca_tool"
# ARM tarball
SRC_URI_arm = "${DIGI_PKG_SRC}/${PKGNAME}-${PV}-${TUNE_ARCH}.tar.gz;name=arm"
SRC_URI[arm.md5sum] = "a9c9e4bbafa65b8140def4db60518a61"
SRC_URI[arm.sha256sum] = "70bae34b602573547cd6f9c6a738aaef4f90c03ce7a97b4d54013b20acbf9a45"
SRC_URI[arm.md5sum] = "8069da600af8b607c96d1edf9c5dad8c"
SRC_URI[arm.sha256sum] = "54a13f497161106c785e81e8dfe506ce46c6c1ecf3e81185055112c9217506d3"
# AARCH64 tarball
SRC_URI_aarch64 = "${DIGI_PKG_SRC}/${PKGNAME}-${PV}-${TUNE_ARCH}.tar.gz;name=aarch64"
SRC_URI[aarch64.md5sum] = "ccde3a7d4981e179b271a3ce258c036c"
SRC_URI[aarch64.sha256sum] = "da6e9710dd4ff07451cbd1e6f7961f42e97a1c6c0f8b25141be48b229aa9b5a8"
SRC_URI[aarch64.md5sum] = "ee0b11428450b48b8ad3f27d3ebe0556"
SRC_URI[aarch64.sha256sum] = "032691491e2b5f294992fab453f2864666b3af495b439be897f23adacb312827"
S = "${WORKDIR}/${PKGNAME}-${PV}"

View File

@ -0,0 +1,153 @@
# Copyright (C) 2018, Digi International Inc.
SUMMARY = "AWS IoT Greengrass core"
HOMEPAGE = "https://aws.amazon.com/greengrass/"
#
# The Amazon Greengrass Core Product includes the following third-party software/licensing:
# github.com/aws/aws-sdk-go/; version 1.15.65 -- https://github.com/aws/aws-sdk-go/
# github.com/coreos/go-systemd/; version 10 -- https://github.com/coreos/go-systemd/
# github.com/docker/docker; version 1.12.0-rc4 -- https://github.com/docker/docker
# github.com/docker/go-units; version 0.3.1 -- https://github.com/docker/go-units
# github.com/go-ini/ini; version 1.32.0 -- https://github.com/go-ini/ini
# github.com/jmespath/go-jmespath; version 0.2.2 -- https://github.com/jmespath/go-jmespath
# github.com/mwitkow/go-http-dialer; version 0.1 -- https://github.com/mwitkow/go-http-dialer
# github.com/opencontainers/runc; version 1.0.0-rc3 -- https://github.com/opencontainers/runc
# github.com/opencontainers/runtime-spec; version 1.0.0-rc5 -- https://github.com/opencontainers/runtime-spec
# github.com/pquerna/ffjson; version 1.0 -- https://github.com/pquerna/ffjson
# github.com/vishvananda/netlink; version 0.1 -- https://github.com/vishvananda/netlink
#
# And the following Licenses:
LICENSE = "Apache-2.0 | BSD-2-Clause | BSD-3-Clause | MIT | PD | Proprietary"
LIC_FILES_CHKSUM = " \
file://ggc/core/THIRD-PARTY-LICENSES;md5=28584ceb716d242782f9a7a7593c9ff2 \
"
SRC_URI_arm = " \
http:///not/exist/greengrass-linux-armv7l-${PV}.tar.gz;name=arm \
file://greengrass-init \
"
SRC_URI[arm.md5sum] = "a7f3667ac9f24e434e7a85908d1db256"
SRC_URI[arm.sha256sum] ="339656dca947f1cff29635fbe7570b5ea04ca7256fd2177cf396711a60a8f26a"
SRC_URI_aarch64 = " \
http:///not/exist/greengrass-linux-aarch64-${PV}.tar.gz;name=aarch64 \
file://greengrass-init \
"
# For ARCH64 we use another tarball.
SRC_URI[aarch64.md5sum] = "abfabf1464b7a1da0322dfd780415e48"
SRC_URI[aarch64.sha256sum] ="411956c8a41857c95dea5af6a41c7c0ab09310d621e054693d9e8ee57b23ed35"
GG_TARBALL_LOCAL_PATH ?= ""
# The tarball is only available for downloading after registration, so provide
# a PREMIRROR to a local directory that can be configured in the project's
# local.conf file using GG_TARBALL_LOCAL_PATH variable.
python() {
gg_tarball_local_path = d.getVar('GG_TARBALL_LOCAL_PATH', True)
if gg_tarball_local_path:
premirrors = d.getVar('PREMIRRORS', True)
d.setVar('PREMIRRORS', "http:///not/exist/greengrass.* file://%s \\n %s" % (gg_tarball_local_path, premirrors))
}
S = "${WORKDIR}/${BPN}"
inherit aws-iot update-rc.d useradd
GG_USESYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', 'no', d)}"
# Disable tasks not needed for the binary package
do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install() {
install -d ${D}/${BPN}
tar --no-same-owner --exclude='./patches' --exclude='./.pc' -cpf - -C ${S} . \
| tar --no-same-owner -xpf - -C ${D}/${BPN}
# Install wrapper bootscript to launch Greengrass core on boot
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/greengrass-init ${D}${sysconfdir}/init.d/greengrass
sed -i -e "s,##GG_INSTALL_DIR##,/${BPN},g" ${D}${sysconfdir}/init.d/greengrass
# If certificates do exist, install them and update the config file
if [ -f "${AWS_IOT_CERTS_DIR}/${AWS_GGCORE_ROOT_CA}" ] && \
[ -f "${AWS_IOT_CERTS_DIR}/${AWS_GGCORE_CERTIFICATE}" ] && \
[ -f "${AWS_IOT_CERTS_DIR}/${AWS_GGCORE_PRIVATE_KEY}" ]; then
install -m 0644 "${AWS_IOT_CERTS_DIR}/${AWS_GGCORE_ROOT_CA}" \
"${AWS_IOT_CERTS_DIR}/${AWS_GGCORE_CERTIFICATE}" \
"${AWS_IOT_CERTS_DIR}/${AWS_GGCORE_PRIVATE_KEY}" \
${D}/${BPN}/certs/
sed -i -e "s,\[ROOT_CA_PEM_HERE],${AWS_GGCORE_ROOT_CA},g" \
-e "s,\[CLOUD_PEM_CRT_HERE],${AWS_GGCORE_CERTIFICATE},g" \
-e "s,\[CLOUD_PEM_KEY_HERE],${AWS_GGCORE_PRIVATE_KEY},g" \
${D}/${BPN}/config/config.json
fi
# Configure the rest of GG Core parameters
[ -n "${AWS_GGCORE_THING_ARN}" ] && sed -i -e "s,\[THING_ARN_HERE],${AWS_GGCORE_THING_ARN},g" ${D}/${BPN}/config/config.json
if [ -n "${AWS_GGCORE_IOT_HOST}" ]; then
AWS_GGCORE_HOST_PREFIX="$(echo ${AWS_GGCORE_IOT_HOST} | sed -e 's,\([^.]\+\)\.iot.*,\1,g')"
AWS_GGCORE_REGION="$(echo ${AWS_GGCORE_IOT_HOST} | sed -e 's,.*.iot\.\([^.]\+\)\..*,\1,g')"
[ -n "${AWS_GGCORE_HOST_PREFIX}" ] && sed -i -e "s,\[HOST_PREFIX_HERE],${AWS_GGCORE_HOST_PREFIX},g" ${D}/${BPN}/config/config.json
[ -n "${AWS_GGCORE_REGION}" ] && sed -i -e "s,\[AWS_REGION_HERE],${AWS_GGCORE_REGION},g" ${D}/${BPN}/config/config.json
fi
# Configure whether to use systemd or not
sed -i -e "/useSystemd/{s,\[yes|no],${GG_USESYSTEMD},g}" ${D}/${BPN}/config/config.json
}
pkg_postinst_${PN}() {
# Enable protection for hardlinks and symlinks
if ! grep -qs 'protected_.*links' $D${sysconfdir}/sysctl.conf; then
cat >> $D${sysconfdir}/sysctl.conf <<-_EOF_
# Greengrass: protect hardlinks/symlinks
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
_EOF_
fi
# Customize '/etc/fstab'
if [ -f "$D${sysconfdir}/fstab" ]; then
# Disable TMPFS /var/volatile
sed -i -e '\#^tmpfs[[:blank:]]\+/var/volatile#s,^,#,g' $D${sysconfdir}/fstab
# Mount a cgroup hierarchy with all available subsystems
if ! grep -qs '^cgroup' $D${sysconfdir}/fstab; then
cat >> $D${sysconfdir}/fstab <<-_EOF_
# Greengrass: mount cgroups
cgroup /sys/fs/cgroup cgroup defaults 0 0
_EOF_
fi
fi
# Disable '/etc/resolv.conf' symlink
if [ -f "$D${sysconfdir}/default/volatiles/00_core" ]; then
sed -i -e '/resolv.conf/d' $D${sysconfdir}/default/volatiles/00_core
cat >> $D${sysconfdir}/default/volatiles/00_core <<-_EOF_
# Greengrass: create a real (no symlink) resolv.conf
f root root 0644 /etc/resolv.conf none
_EOF_
fi
}
FILES_${PN} = "/${BPN} ${sysconfdir}"
CONFFILES_${PN} += "/${BPN}/config/config.json"
INITSCRIPT_NAME = "greengrass"
INITSCRIPT_PARAMS = "defaults 80 20"
USERADD_PACKAGES = "${PN}"
GROUPADD_PARAM_${PN} = "-r ggc_group"
USERADD_PARAM_${PN} = "-r -M -N -g ggc_group -s /bin/false ggc_user"
#
# Disable failing QA checks:
#
# Binary was already stripped
# No GNU_HASH in the elf binary
#
INSANE_SKIP_${PN} += "already-stripped ldflags file-rdeps"
RDEPENDS_${PN} += "ca-certificates python-argparse python-json python-numbers sqlite3"

View File

@ -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 = "433c1a58a7e63933a60716195e6bb834b201bf1c"
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=git"
CC_GIT_URI ?= "${@base_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"

View File

@ -6,10 +6,10 @@ SECTION = "libs"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d"
DEPENDS = "libsoc"
DEPENDS = "libsoc libsocketcan"
SRCBRANCH ?= "master"
SRCREV = "bfef0d85b43749fecd8faa3e962d1bc945ca03d2"
SRCREV = "${AUTOREV}"
LIBDIGIAPIX_URI_STASH = "${DIGI_MTK_GIT}dey/libdigiapix.git;protocol=ssh"
LIBDIGIAPIX_URI_GITHUB = "git://github.com/digi-embedded/libdigiapix.git;protocol=git"
@ -17,7 +17,7 @@ LIBDIGIAPIX_URI_GITHUB = "git://github.com/digi-embedded/libdigiapix.git;protoco
LIBDIGIAPIX_GIT_URI ?= "${@base_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://board.conf \
file://digiapix.sh \

View File

@ -267,8 +267,13 @@ BOARD_VARIANT="$(cat /proc/device-tree/digi,hwid,variant | tr -d '\0')"
BOARD_SN="$(cat /proc/device-tree/digi,hwid,sn | tr -d '\0')"
BOARD_VERSION="$(cat /proc/device-tree/digi,carrierboard,version | tr -d '\0')"
BOARD_ID="$(cat /proc/device-tree/digi,carrierboard,id | tr -d '\0')"
if grep -qs '\<digi,ccimx6ul\>' /proc/device-tree/compatible; then
MCA_NODE="/sys/bus/i2c/devices/0-007e"
elif grep -qs '\<digi,ccimx8x\>' /proc/device-tree/compatible; then
MCA_NODE="/sys/bus/i2c/devices/0-0063"
fi
if [ -d "$MCA_NODE" ]; then
MCA_HW_VERSION=$(cat ${MCA_NODE}/hw_version 2>/dev/null | tr -d '\0') || MCA_HW_VERSION="??"
MCA_FW_VERSION=$(cat ${MCA_NODE}/fw_version 2>/dev/null | tr -d '\0') || MCA_FW_VERSION="??"
MCA_VERSION="HW_VERSION=${MCA_HW_VERSION} FW_VERSION=${MCA_FW_VERSION}"