Merge tag 'dey-3.2-r1.2' into dey-3.2/master

Digi Embedded Yocto 3.2-r1.2

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
This commit is contained in:
Mike Engel 2021-07-26 12:48:54 +02:00
commit 216d06e723
46 changed files with 584 additions and 105 deletions

View File

@ -111,10 +111,20 @@ Documentation is available online at https://www.digi.com/resources/documentatio
* Updated Qt 5.15.2
* Updated bluez5 to v5.55
* Updated gstreamer1.0 to v1.16.3
* Updated OpenSSL to v1.1.1i
* Updated OpenSSL to v1.1.1k
* Updated busybox to v1.32.0
* Updated NetworkManager to v1.22.14
* Package upgrades and security fixes
* Updated i.MX8 SCU firmware to v1.7.1.1
* Updated mca-tool to v1.24
* Updated trustfence-tool to v2.5
* Added support for Dual boot mechanism
* Added support for Google Coral AI devices
* Trustfence: added support for generic partition encryption
* MCA: added support for GPIO-refreshed watchdog
* Improved WebKit performance
* Improved installation scripts
* Updated CC6UL RF calibration
# Known Issues and Limitations

View File

@ -291,11 +291,17 @@ IMAGE_CMD_sdcard() {
SDIMG_BOOT="$(readlink -e ${SDIMG_BOOTLOADER})"
fi
# Decompress rootfs image
gzip -d -k ${SDIMG_ROOTFS}.gz
# Burn bootloader, boot and rootfs partitions
dd if=${SDIMG_BOOT} of=${SDIMG} conv=notrunc,fsync seek=${BOOTLOADER_SEEK} bs=1K
dd if=${SDIMG_BOOTFS} of=${SDIMG} conv=notrunc,fsync seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc,fsync seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024 + ${BOOT_SPACE_ALIGNED} \* 1024)
# Delete the decompressed rootfs image
rm -f ${SDIMG_ROOTFS}
}
# The sdcard image requires the boot and rootfs images to be built before
IMAGE_TYPEDEP_sdcard = "${SDIMG_BOOTFS_TYPE} ${SDIMG_ROOTFS_TYPE}"
IMAGE_TYPEDEP_sdcard = "${SDIMG_BOOTFS_TYPE} ${SDIMG_ROOTFS_TYPE}.gz"

View File

@ -47,4 +47,4 @@ XBEE_TTY ?= "ttymxc4"
BOOT_SCRIPTS = "boot.scr:boot.scr"
# Flash image types
IMAGE_FSTYPES ?= "boot.vfat ext4 sdcard tar.bz2 recovery.vfat"
IMAGE_FSTYPES ?= "boot.vfat ext4.gz sdcard.gz tar.bz2 recovery.vfat"

View File

@ -47,4 +47,4 @@ XBEE_TTY ?= "ttymxc4"
BOOT_SCRIPTS = "boot.scr:boot.scr"
# Flash image types
IMAGE_FSTYPES ?= "boot.vfat ext4 sdcard tar.bz2 recovery.vfat"
IMAGE_FSTYPES ?= "boot.vfat ext4.gz sdcard.gz tar.bz2 recovery.vfat"

View File

@ -21,6 +21,7 @@ UBOOT_DTB_NAME = "ccimx8mm-dvk.dtb"
KERNEL_DEVICETREE ?= " \
digi/ccimx8mm-dvk.dtb \
digi/_ov_board_gpio-watchdog_ccimx8m-dvk.dtbo \
digi/_ov_board_hsd101pfw2-lvds_ccimx8m-dvk.dtbo \
digi/_ov_board_lvds_ccimx8m-dvk.dtbo \
digi/_ov_board_user-leds_ccimx8m-dvk.dtbo \
@ -43,4 +44,4 @@ XBEE_TTY ?= "ttymxc3"
BOOT_SCRIPTS = "boot.scr:boot.scr"
# Flash image types
IMAGE_FSTYPES ?= "boot.vfat ext4 sdcard tar.bz2 recovery.vfat"
IMAGE_FSTYPES ?= "boot.vfat ext4.gz sdcard.gz tar.bz2 recovery.vfat"

View File

@ -21,6 +21,7 @@ UBOOT_DTB_NAME = "ccimx8mn-dvk.dtb"
KERNEL_DEVICETREE ?= " \
digi/ccimx8mn-dvk.dtb \
digi/_ov_board_gpio-watchdog_ccimx8m-dvk.dtbo \
digi/_ov_board_hsd101pfw2-lvds_ccimx8m-dvk.dtbo \
digi/_ov_board_lvds_ccimx8m-dvk.dtbo \
digi/_ov_board_user-leds_ccimx8m-dvk.dtbo \
@ -45,4 +46,4 @@ XBEE_TTY ?= "ttymxc3"
BOOT_SCRIPTS = "boot.scr:boot.scr"
# Flash image types
IMAGE_FSTYPES ?= "boot.vfat ext4 sdcard tar.bz2 recovery.vfat"
IMAGE_FSTYPES ?= "boot.vfat ext4.gz sdcard.gz tar.bz2 recovery.vfat"

View File

@ -33,4 +33,4 @@ XBEE_TTY ?= "ttyLP0"
BOOT_SCRIPTS = "boot.scr:boot.scr"
# Flash image types
IMAGE_FSTYPES ?= "boot.vfat ext4 sdcard tar.bz2 recovery.vfat"
IMAGE_FSTYPES ?= "boot.vfat ext4.gz sdcard.gz tar.bz2 recovery.vfat"

View File

@ -15,6 +15,7 @@ UBOOT_CONFIG[ccimx8x_sbc_pro512MB] = "ccimx8x_sbc_pro512MB_defconfig,,u-boot-dtb
KERNEL_DEVICETREE ?= " \
digi/ccimx8x-sbc-pro.dtb \
digi/_ov_board_flexcan1_ccimx8x-sbc-pro.dtbo \
digi/_ov_board_gpio-watchdog_ccimx8x-sbc-pro.dtbo \
digi/_ov_board_hsd101pfw2-lvds_ccimx8x-sbc-pro.dtbo \
digi/_ov_board_lpuart3_ccimx8x-sbc-pro.dtbo \
digi/_ov_board_lt9812-hdmi-dsi0_ccimx8x-sbc-pro.dtbo \
@ -45,4 +46,4 @@ BOOT_SCRIPTS = "boot.scr:boot.scr"
UBOOT_HAS_FASTBOOT = "true"
# Flash image types
IMAGE_FSTYPES ?= "boot.vfat ext4 sdcard tar.bz2 recovery.vfat"
IMAGE_FSTYPES ?= "boot.vfat ext4.gz sdcard.gz tar.bz2 recovery.vfat"

View File

@ -0,0 +1,27 @@
From: Arturo Buzarra <arturo.buzarra@digi.com>
Date: Mon, 28 Jun 2021 15:00:58 +0200
Subject: [PATCH] gstreamer: fix video sink for wayland images
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
---
gstreamer/gstreamer.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gstreamer/gstreamer.py b/gstreamer/gstreamer.py
index 2676439..e055d77 100644
--- a/gstreamer/gstreamer.py
+++ b/gstreamer/gstreamer.py
@@ -249,11 +249,11 @@ def run_pipeline(user_function,
scale_caps = 'video/x-raw,width={width},height={height}'.format(width=scale[0], height=scale[1])
PIPELINE += """ ! tee name=t
t. ! {leaky_q} ! videoconvert ! videoscale ! {scale_caps} ! videobox name=box autocrop=true
! {sink_caps} ! {sink_element}
t. ! {leaky_q} ! videoconvert
- ! rsvgoverlay name=overlay ! videoconvert ! ximagesink sync=false
+ ! rsvgoverlay name=overlay ! videoconvert ! waylandsink sync=false
"""
SINK_ELEMENT = 'appsink name=appsink emit-signals=true max-buffers=1 drop=true'
SINK_CAPS = 'video/x-raw,format=RGB,width={width},height={height}'
LEAKY_Q = 'queue max-size-buffers=1 leaky=downstream'
--

View File

@ -0,0 +1,36 @@
SUMMARY = "Edge TPU keyphrase detector"
HOMEPAGE = "https://coral.ai/examples"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRCREV = "655a354df5f939602ff6b9da2cbc4d2c78898107"
SRC_URI = "git://github.com/google-coral/project-bodypix.git;protocol=https"
S = "${WORKDIR}/git"
RDEPENDS_${PN} = "python3-pycoral \
python3-svgwrite \
python3-scipy \
libusb1 \
"
do_install() {
# Install Gstreamer examples
install -d ${D}/opt/libedgetpu
install -d ${D}/opt/libedgetpu/bodypix
install -d ${D}/opt/libedgetpu/bodypix/models
install -d ${D}/opt/libedgetpu/bodypix/posenet_lib
install -d ${D}/opt/libedgetpu/bodypix/posenet_lib/aarch64
install -m 0555 ${S}/models/bodypix_mobilenet* ${D}/opt/libedgetpu/bodypix/models/
install -m 0555 ${S}/bodypix.py ${D}/opt/libedgetpu/bodypix
install -m 0555 ${S}/gstreamer.py ${D}/opt/libedgetpu/bodypix
install -m 0555 ${S}/pose_engine.py ${D}/opt/libedgetpu/bodypix
install -m 0555 ${S}/posenet_lib/aarch64/posenet_decoder.so ${D}/opt/libedgetpu/bodypix/posenet_lib/aarch64
}
FILES_${PN} += "/opt/libedgetpu/bodypix/* \
"
INSANE_SKIP_${PN} += "already-stripped"

View File

@ -0,0 +1,35 @@
SUMMARY = "Edge TPU simple camera examples"
HOMEPAGE = "https://coral.ai/examples"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRCREV = "19335531f599133e054ec2ddcc31733d24031ba5"
SRC_URI = "git://github.com/google-coral/examples-camera.git;protocol=https \
file://0001-gstreamer-fix-video-sink-for-wayland-images.patch \
"
S = "${WORKDIR}/git"
inherit gobject-introspection
RDEPENDS_${PN} = "python3-pycoral \
gstreamer1.0-plugins-base \
"
do_configure() {
bash download_models.sh
}
do_install() {
# Install Gstreamer examples
install -d ${D}/opt/libedgetpu
install -d ${D}/opt/libedgetpu/camera
install -d ${D}/opt/libedgetpu/camera/all_models
install -d ${D}/opt/libedgetpu/camera/gstreamer
rm -f ${S}/gstreamer/install_requirements.sh
install -m 0555 ${S}/all_models/* ${D}/opt/libedgetpu/camera/all_models/
install -m 0555 ${S}/gstreamer/* ${D}/opt/libedgetpu/camera/gstreamer/
}
FILES_${PN} += "/opt/libedgetpu/camera/* \
"

View File

@ -0,0 +1,33 @@
SUMMARY = "Edge TPU keyphrase detector"
HOMEPAGE = "https://coral.ai/examples"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRCREV = "43a5fd0578c75c9140b4f057de74f2dbac96ceff"
SRC_URI = "git://github.com/google-coral/project-keyword-spotter.git;protocol=https"
S = "${WORKDIR}/git"
RDEPENDS_${PN} = "python3-pycoral \
python3-pyaudio \
"
do_install() {
# Install Gstreamer examples
install -d ${D}/opt/libedgetpu
install -d ${D}/opt/libedgetpu/keyword
install -d ${D}/opt/libedgetpu/keyword/models
install -d ${D}/opt/libedgetpu/keyword/config
install -m 0555 ${S}/models/* ${D}/opt/libedgetpu/keyword/models/
install -m 0555 ${S}/run_model.py ${D}/opt/libedgetpu/keyword
install -m 0555 ${S}/mel_features.py ${D}/opt/libedgetpu/keyword
install -m 0555 ${S}/model.py ${D}/opt/libedgetpu/keyword
install -m 0555 ${S}/audio_recorder.py ${D}/opt/libedgetpu/keyword
install -m 0555 ${S}/config/labels_gc2.raw.txt ${D}/opt/libedgetpu/keyword/config
install -m 0555 ${S}/config/commands_v2.txt ${D}/opt/libedgetpu/keyword/config
}
FILES_${PN} += "/opt/libedgetpu/keyword/* \
"

View File

@ -0,0 +1,37 @@
SUMMARY = "Edge TPU runtime library for Coral devices"
HOMEPAGE = "https://coral.googlesource.com/edgetpu"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://libedgetpu/LICENSE.txt;md5=c0e85c67b919e863a1a7a3da109dc40d"
SRC_URI = "https://dl.google.com/coral/edgetpu_api/edgetpu_runtime_20210119.zip"
SRC_URI[md5sum] = "5c0b992d73683e395d6993761064d2df"
SRC_URI[sha256sum] = "b23b2c5a227d7f0e65dcc91585028d27c12e764f8ce4c4db3f114be4a49af3ae"
S = "${WORKDIR}/edgetpu_runtime"
RDEPENDS_${PN} = "libusb1"
# The library files in direct correspond to max frequency, those in throttled correspond to reduced frequency.
LIBEDGETPU_TYPE = "direct"
LIBEDGETPU_ARCH = "aarch64"
do_install() {
install -d ${D}${sysconfdir}/udev/rules.d
install -m 0644 ${S}/libedgetpu/edgetpu-accelerator.rules \
${D}${sysconfdir}/udev/rules.d/99-edgetpu-accelerator.rules
install -d ${D}/${libdir}
install -m 755 ${S}/libedgetpu/${LIBEDGETPU_TYPE}/${LIBEDGETPU_ARCH}/libedgetpu.so.1.0 \
${D}/${libdir}/libedgetpu.so.1.0
ln -sf ${libdir}/libedgetpu.so.1.0 ${D}/${libdir}/libedgetpu.so.1
ln -sf ${libdir}/libedgetpu.so.1.0 ${D}/${libdir}/libedgetpu.so
install -d ${D}/${includedir}
install -m 755 ${S}/libedgetpu/edgetpu.h ${D}/${includedir}/edgetpu.h
}
FILES_${PN} += "${libdir}/libedgetpu.so \
${includedir}/edgetpu.h \
"
INSANE_SKIP_${PN} += "already-stripped"

View File

@ -0,0 +1,46 @@
SUMMARY = "TensorFlow Lite Python Library"
DESCRIPTION = "TensorFlow Lite is the official solution for running machine learning models on mobile and embedded devices."
SECTION = "devel/python"
HOMEPAGE = "https://www.tensorflow.org/lite/"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/tflite_runtime-2.5.0.dist-info/METADATA;md5=8c4b9e107a64b0121980a8705094014b"
PYTHON_PACKAGE = "tflite_runtime-2.5.0-cp38-cp38-linux_aarch64.whl"
SRC_URI = "https://github.com/google-coral/pycoral/releases/download/v1.0.1/${PYTHON_PACKAGE};downloadfilename=${PYTHON_PACKAGE};subdir=${BP}"
SRC_URI[md5sum] = "9c47617e1fa0bdca673a78b8b6688d64"
SRC_URI[sha256sum] = "b87a4c152be05d3585521a1d5418f7645a4fb82965772489b983e93aae6bd9ac"
DEPENDS = "python3 python3-pip-native python3-wheel-native"
RDEPENDS_${PN} = "${PYTHON_PN} \
${PYTHON_PN}-numpy \
"
inherit python3native
do_unpack[depends] += "unzip-native:do_populate_sysroot"
do_unpack_extra(){
[ -d ${S} ] || mkdir -p ${S}
cd ${S}
unzip -q -o ${S}/${PYTHON_PACKAGE} -d ${S}
}
addtask unpack_extra after do_unpack before do_patch
do_install() {
# Install pip package
install -d ${D}/${PYTHON_SITEPACKAGES_DIR}
${STAGING_BINDIR_NATIVE}/pip3 install --disable-pip-version-check -v \
-t ${D}/${PYTHON_SITEPACKAGES_DIR} --no-cache-dir --no-deps \
${WORKDIR}/${BP}/tflite_runtime-*.whl
}
FILES_${PN} += "\
${libdir}/${PYTHON_DIR}/site-packages/* \
"
INSANE_SKIP_${PN} += "already-stripped"
COMPATIBLE_MACHINE = "(-)"
COMPATIBLE_MACHINE_aarch64 = "(.*)"

View File

@ -48,7 +48,7 @@ for g in ${GRAPHICAL_IMAGES}; do
BASEFILENAME="${image-name}-##GRAPHICAL_BACKEND##"
fi
done
if test "${BASEFILENAME} = "0"; then
if test "${BASEFILENAME}" = "0"; then
BASEFILENAME="${image-name}"
fi
setenv INSTALL_LINUX_FILENAME ${BASEFILENAME}-##MACHINE##.boot.vfat

View File

@ -48,7 +48,7 @@ for g in ${GRAPHICAL_IMAGES}; do
BASEFILENAME="${image-name}-##GRAPHICAL_BACKEND##"
fi
done
if test "${BASEFILENAME} = "0"; then
if test "${BASEFILENAME}" = "0"; then
BASEFILENAME="${image-name}"
fi
setenv INSTALL_LINUX_FILENAME ${BASEFILENAME}-##MACHINE##.boot.vfat

View File

@ -59,7 +59,7 @@ for g in ${GRAPHICAL_IMAGES}; do
BASEFILENAME="${image-name}-##GRAPHICAL_BACKEND##"
fi
done
if test "${BASEFILENAME} = "0"; then
if test "${BASEFILENAME}" = "0"; then
BASEFILENAME="${image-name}"
fi
setenv INSTALL_LINUX_FILENAME ${BASEFILENAME}-##MACHINE##.boot.vfat

View File

@ -59,7 +59,7 @@ for g in ${GRAPHICAL_IMAGES}; do
BASEFILENAME="${image-name}-##GRAPHICAL_BACKEND##"
fi
done
if test "${BASEFILENAME} = "0"; then
if test "${BASEFILENAME}" = "0"; then
BASEFILENAME="${image-name}"
fi
setenv INSTALL_LINUX_FILENAME ${BASEFILENAME}-##MACHINE##.boot.vfat
@ -73,7 +73,7 @@ for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_R
install_abort=1;
fi;
done
if test -n "${install_abort}"; then
if test "${install_abort}" = "1"; then
echo "Aborted.";
exit;
fi

View File

@ -52,7 +52,7 @@ for g in ${GRAPHICAL_IMAGES}; do
BASEFILENAME="${image-name}-##GRAPHICAL_BACKEND##"
fi
done
if test "${BASEFILENAME} = "0"; then
if test "${BASEFILENAME}" = "0"; then
BASEFILENAME="${image-name}"
fi
setenv INSTALL_LINUX_FILENAME ${BASEFILENAME}-##MACHINE##.boot.ubifs

View File

@ -87,7 +87,7 @@ uuu fb: ucmd setenv stdout serial,fastboot
if [ -z "${INSTALL_UBOOT_FILENAME}" ]; then
module_variant=$(getenv "module_variant")
# Determine U-Boot file to program basing on SOM's variant
if [ -n "$module_variant" ]; then
if [ -n "$module_variant" ] || [ "$module_variant" = "0x00" ]; then
if [ "$module_variant" = "0x08" ] || \
[ "$module_variant" = "0x09" ]; then
INSTALL_UBOOT_FILENAME="u-boot-##MACHINE##512MB.imx"
@ -110,13 +110,13 @@ if [ -z "${INSTALL_UBOOT_FILENAME}" ]; then
echo ""
echo "[ERROR] Cannot determine U-Boot file for this module!"
echo ""
echo "1. Add U-boot file name, depending on your ConnectCore 8X variant, to script command line:"
echo "1. Add U-boot file name, depending on your ConnectCore 6UL variant, to script command line:"
echo " - For a SOM with 1GB DDR3, run:"
echo " => ./install_linux_fs_uuu.sh -u u-boot-##MACHINE##1GB.imx"
echo " => ./install_linux_fw_uuu.sh -u u-boot-##MACHINE##1GB.imx"
echo " - For a SOM with 512MB DDR3, run:"
echo " => ./install_linux_fs_uuu.sh -u u-boot-##MACHINE##512MB.imx"
echo " => ./install_linux_fw_uuu.sh -u u-boot-##MACHINE##512MB.imx"
echo " - For a SOM with 256MB DDR3, run:"
echo " => ./install_linux_fs_uuu.sh -u u-boot-##MACHINE##.imx"
echo " => ./install_linux_fw_uuu.sh -u u-boot-##MACHINE##.imx"
echo ""
echo "2. Run the install script again."
echo ""

View File

@ -19,7 +19,7 @@ for g in ${GRAPHICAL_IMAGES}; do
BASEFILENAME="${image-name}-##GRAPHICAL_BACKEND##"
fi
done
if test "${BASEFILENAME} = "0"; then
if test "${BASEFILENAME}" = "0"; then
BASEFILENAME="${image-name}"
fi
setenv INSTALL_LINUX_FILENAME ${BASEFILENAME}-##MACHINE##.boot.vfat

View File

@ -19,7 +19,7 @@ for g in ${GRAPHICAL_IMAGES}; do
BASEFILENAME="${image-name}-##GRAPHICAL_BACKEND##"
fi
done
if test "${BASEFILENAME} = "0"; then
if test "${BASEFILENAME}" = "0"; then
BASEFILENAME="${image-name}"
fi
setenv INSTALL_LINUX_FILENAME ${BASEFILENAME}-##MACHINE##.boot.vfat

View File

@ -101,6 +101,18 @@ INSTALL_LINUX_FILENAME="${BASEFILENAME}-##MACHINE##.boot.vfat"
INSTALL_RECOVERY_FILENAME="${BASEFILENAME}-##MACHINE##.recovery.vfat"
INSTALL_ROOTFS_FILENAME="${BASEFILENAME}-##MACHINE##.ext4"
COMPRESSED_ROOTFS_IMAGE="${INSTALL_ROOTFS_FILENAME}.gz"
# If the rootfs image is compressed, make sure to decompress it before the update
if [ -f ${COMPRESSED_ROOTFS_IMAGE} ] && [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; then
echo "\033[36m"
echo "====================================================================================="
echo "Decompressing rootfs image '${COMPRESSED_ROOTFS_IMAGE}'"
echo "====================================================================================="
echo "\033[0m"
gzip -d -k -f "${COMPRESSED_ROOTFS_IMAGE}"
fi
# Verify existance of files before starting the update
FILES="${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}"
for f in ${FILES}; do
@ -189,6 +201,13 @@ uuu fb: acmd reset
# Wait for the target to reset
sleep 3
# Restart fastboot with the latest MMC partition configuration
uuu fb: ucmd setenv fastboot_dev sata
uuu fb: ucmd setenv fastboot_dev mmc
# Set fastboot buffer address to $loadaddr, just in case
uuu fb: ucmd setenv fastboot_buffer \${loadaddr}
# Update Linux
part_update "linux" "${INSTALL_LINUX_FILENAME}"
@ -198,6 +217,11 @@ part_update "recovery" "${INSTALL_RECOVERY_FILENAME}"
# Update Rootfs
part_update "rootfs" "${INSTALL_ROOTFS_FILENAME}"
# If the rootfs image was originally compressed, remove the uncompressed image
if [ -f ${COMPRESSED_ROOTFS_IMAGE} ] && [ -f ${INSTALL_ROOTFS_FILENAME} ]; then
rm -f "${INSTALL_ROOTFS_FILENAME}"
fi
# Configure u-boot to boot into recovery mode
uuu fb: ucmd setenv boot_recovery yes
uuu fb: ucmd setenv recovery_command wipe_update

View File

@ -90,7 +90,7 @@ for g in ${GRAPHICAL_IMAGES}; do
BASEFILENAME="${image-name}-##GRAPHICAL_BACKEND##"
fi
done
if test "${BASEFILENAME} = "0"; then
if test "${BASEFILENAME}" = "0"; then
BASEFILENAME="${image-name}"
fi
setenv INSTALL_LINUX_FILENAME ${BASEFILENAME}-##MACHINE##.boot.vfat

View File

@ -90,7 +90,7 @@ for g in ${GRAPHICAL_IMAGES}; do
BASEFILENAME="${image-name}-##GRAPHICAL_BACKEND##"
fi
done
if test "${BASEFILENAME} = "0"; then
if test "${BASEFILENAME}" = "0"; then
BASEFILENAME="${image-name}"
fi
setenv INSTALL_LINUX_FILENAME ${BASEFILENAME}-##MACHINE##.boot.vfat
@ -110,7 +110,7 @@ if test "${install_abort}" = "1"; then
fi
echo "############################################################"
echo "# Linux firmware install from micro SD #"
echo "# Linux firmware install from USB #"
echo "############################################################"
echo ""
echo " This process will erase your eMMC and will install the following files"
@ -193,7 +193,7 @@ setenv bootcmd "
echo \">> Installing linux image file ${INSTALL_LINUX_FILENAME}\";
echo \"\";
echo \"\";
update linux mmc ${INSTALL_MMCDEV} ${INSTALL_LINUX_FILENAME};
update linux usb ${INSTALL_USBDEV} ${INSTALL_LINUX_FILENAME};
if test \$? -eq 1; then
echo \"[ERROR] Failed to update linux partition!\";
echo \"\";

View File

@ -101,16 +101,16 @@ if [ -z ${INSTALL_UBOOT_FILENAME} ]; then
if [ -z "${module_ram}" ]; then
module_variant=$(getenv "module_variant")
# Determine U-Boot file to program basing on SOM's variant
if [ -n "$module_variant" ]; then
if [ "$module_variant" == "0x01" ] || \
[ "$module_variant" == "0x04" ] || \
[ "$module_variant" == "0x05" ]; then
if [ -n "$module_variant" ] || [ "$module_variant" = "0x00" ]; then
if [ "$module_variant" = "0x01" ] || \
[ "$module_variant" = "0x04" ] || \
[ "$module_variant" = "0x05" ]; then
module_ram="1GB"
elif [ "$module_variant" == "0x02" ] || \
[ "$module_variant" == "0x03" ]; then
module_ram="2GB"
else
elif [ "$module_variant" = "0x06" ] || \
[ "$module_variant" = "0x09" ]; then
module_ram="512MB"
else
module_ram="2GB"
fi
INSTALL_UBOOT_FILENAME="imx-boot-##MACHINE##-${soc_rev}-${module_ram}_${bus_width}.bin"
fi
@ -130,13 +130,13 @@ if [ -z ${INSTALL_UBOOT_FILENAME} ]; then
echo ""
echo "1. Add U-boot file name, depending on your ConnectCore 8X variant, to script command line:"
echo " - For a QuadXPlus CPU with 1GB LPDDR4, run:"
echo " => ./install_linux_fs_uuu.sh -u imx-boot-##MACHINE##-${soc_rev}-1GB_32bit.bin"
echo " => ./install_linux_fw_uuu.sh -u imx-boot-##MACHINE##-${soc_rev}-1GB_32bit.bin"
echo " - For a QuadXPlus CPU with 2GB LPDDR4, run:"
echo " => ./install_linux_fs_uuu.sh -u imx-boot-##MACHINE##-${soc_rev}-2GB_32bit.bin"
echo " => ./install_linux_fw_uuu.sh -u imx-boot-##MACHINE##-${soc_rev}-2GB_32bit.bin"
echo " - For a DualX CPU with 1GB LPDDR4, run:"
echo " => ./install_linux_fs_uuu.sh -u imx-boot-##MACHINE##-${soc_rev}-1GB_16bit.bin"
echo " => ./install_linux_fw_uuu.sh -u imx-boot-##MACHINE##-${soc_rev}-1GB_16bit.bin"
echo " - For a DualX CPU with 512MB LPDDR4, run:"
echo " => ./install_linux_fs_uuu.sh -u imx-boot-##MACHINE##-${soc_rev}-512MB_16bit.bin"
echo " => ./install_linux_fw_uuu.sh -u imx-boot-##MACHINE##-${soc_rev}-512MB_16bit.bin"
echo ""
echo "2. Run the install script again."
echo ""
@ -163,6 +163,18 @@ INSTALL_LINUX_FILENAME="${BASEFILENAME}-##MACHINE##.boot.vfat"
INSTALL_RECOVERY_FILENAME="${BASEFILENAME}-##MACHINE##.recovery.vfat"
INSTALL_ROOTFS_FILENAME="${BASEFILENAME}-##MACHINE##.ext4"
COMPRESSED_ROOTFS_IMAGE="${INSTALL_ROOTFS_FILENAME}.gz"
# If the rootfs image is compressed, make sure to decompress it before the update
if [ -f ${COMPRESSED_ROOTFS_IMAGE} ] && [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; then
echo "\033[36m"
echo "====================================================================================="
echo "Decompressing rootfs image '${COMPRESSED_ROOTFS_IMAGE}'"
echo "====================================================================================="
echo "\033[0m"
gzip -d -k -f "${COMPRESSED_ROOTFS_IMAGE}"
fi
# Verify existance of files before starting the update
FILES="${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}"
for f in ${FILES}; do
@ -248,6 +260,10 @@ uuu fb: acmd reset
# Wait for the target to reset
sleep 3
# Restart fastboot with the latest MMC partition configuration
uuu fb: ucmd setenv fastboot_dev sata
uuu fb: ucmd setenv fastboot_dev mmc
# Set fastboot buffer address to $loadaddr, just in case
uuu fb: ucmd setenv fastboot_buffer \${loadaddr}
@ -260,6 +276,11 @@ part_update "recovery" "${INSTALL_RECOVERY_FILENAME}"
# Update Rootfs
part_update "rootfs" "${INSTALL_ROOTFS_FILENAME}"
# If the rootfs image was originally compressed, remove the uncompressed image
if [ -f ${COMPRESSED_ROOTFS_IMAGE} ] && [ -f ${INSTALL_ROOTFS_FILENAME} ]; then
rm -f "${INSTALL_ROOTFS_FILENAME}"
fi
# Configure u-boot to boot into recovery mode
uuu fb: ucmd setenv boot_recovery yes
uuu fb: ucmd setenv recovery_command wipe_update

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] = "eeb242ee2baeda8a9a1a48dea634b6ea"
SRC_URI[arm.sha256sum] = "40794e0c3baad39b04f2d1640c29620a08036fb36b18583d4f7828fe860bcd89"
SRC_URI[arm.md5sum] = "bbeded0a955a026d302cd4ee212d920e"
SRC_URI[arm.sha256sum] = "33de60f59bfa3e4b867bd872f05413a823852a1e33b21efcddd714454978bb9a"
# AARCH64 tarball
SRC_URI_aarch64 = "${DIGI_PKG_SRC}/${PKGNAME}-${PV}-${TUNE_ARCH}.tar.gz;name=aarch64"
SRC_URI[aarch64.md5sum] = "bd90f295095fead2e58bfa2f6b995c8f"
SRC_URI[aarch64.sha256sum] = "64dd676dff0ffee143d22268e0512b40fe428ecf8b5e31496f738fb9b1a8a01f"
SRC_URI[aarch64.md5sum] = "cf64de7f5aad9cd6a102afd18aebd8bb"
SRC_URI[aarch64.sha256sum] = "c4652b8c0dd54315d7890c47798199948ea595a7dea8de5b6d68a1bfd3853557"
S = "${WORKDIR}/${PKGNAME}-${PV}"

View File

@ -27,6 +27,10 @@ generate_installer_zip () {
if readlink -e "${DEPLOY_DIR_IMAGE}/install_linux_fw_uuu.sh"; then
INSTALLER_FILELIST="${INSTALLER_FILELIST} ${DEPLOY_DIR_IMAGE}/install_linux_fw_uuu.sh"
fi
# Decompress the ext4.gz image, if any
if readlink -e "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.ext4.gz" >/dev/null; then
gzip -d -k -f ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.ext4.gz
fi
for ext in ${FSTYPES_WHITELIST}; do
if readlink -e "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${ext}" >/dev/null; then
INSTALLER_FILELIST="${INSTALLER_FILELIST} ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${ext}"
@ -50,6 +54,11 @@ _EOF_
zip -j ${IMGDEPLOYDIR}/${IMAGE_NAME}.installer.zip ${INSTALLER_FILELIST} ${IMGDEPLOYDIR}/README.txt
rm -f ${IMGDEPLOYDIR}/README.txt
# Delete the decompressed ext4 image, if any
if readlink -e "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.ext4" >/dev/null; then
rm -f ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.ext4
fi
# Create the symlink
if [ -n "${IMAGE_LINK_NAME}" ] && [ -e "${IMGDEPLOYDIR}/${IMAGE_NAME}.installer.zip" ]; then
ln -sf ${IMAGE_NAME}.installer.zip ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.installer.zip

View File

@ -67,9 +67,18 @@ PREFERRED_VERSION_libsoc = "git"
# recipe in case there are NXP-specific changes in it
PREFERRED_PROVIDER_opencl-headers ?= "imx-gpu-viv"
# Use the latest versions of the WebKit recipes
PREFERRED_VERSION_cog = "0.9.90"
PREFERRED_VERSION_libwpe = "1.10.0"
PREFERRED_VERSION_wpebackend-fdo = "1.9.92"
PREFERRED_VERSION_wpewebkit = "2.32.1"
# Use the FDO backend for WPE WebKit
PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-fdo"
# Use recipe from our meta-digi layer
PREFERRED_VERSION_tensorflow-lite ?= "2.5.0"
SDK_NAME = "${DISTRO}-${TCLIBC}-${SDKMACHINE}-${IMAGE_BASENAME}-${TUNE_PKGARCH}-${MACHINE}"
SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}/${MACHINE}"

View File

@ -1,5 +1,5 @@
From: Gabriel Valcazar <gabriel.valcazar@digi.com>
Date: Tue, 10 Nov 2020 16:32:15 +0100
Date: Wed, 23 Jun 2021 10:05:24 +0200
Subject: [PATCH 1/2] cog: remove the --platform parameter and hardcode the FDO
platform
@ -8,38 +8,36 @@ platforms, so always use the FDO one by default.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
---
cog.c | 27 ++++-----------------------
1 file changed, 4 insertions(+), 23 deletions(-)
cog.c | 25 ++++---------------------
1 file changed, 4 insertions(+), 21 deletions(-)
diff --git a/cog.c b/cog.c
index 950b14d..5f47d87 100644
index 2fdc7b2..bb64506 100644
--- a/cog.c
+++ b/cog.c
@@ -43,10 +43,7 @@ static struct {
@@ -40,10 +40,7 @@ static struct {
GStrv dir_handlers;
GStrv arguments;
char *background_color;
#if !COG_USE_WEBKITGTK
- union {
- char *platform_name;
- CogPlatform *platform;
- };
+ CogPlatform *platform;
#endif // !COG_USE_WEBKITGTK
union {
char *action_name;
@@ -95,11 +92,6 @@ static GOptionEntry s_cli_options[] =
enum webprocess_fail_action action_id;
@@ -92,9 +89,6 @@ static GOptionEntry s_cli_options[] =
{ "bg-color", 'b', 0, G_OPTION_ARG_STRING, &s_options.background_color,
"Background color, as a CSS name or in #RRGGBBAA hex syntax (default: white)",
"BG_COLOR" },
-#if !COG_USE_WEBKITGTK
- { "platform", 'P', 0, G_OPTION_ARG_STRING, &s_options.platform_name,
- "Platform plug-in to use.",
- "NAME" },
-#endif // !COG_USE_WEBKITGTK
{ "web-extensions-dir", '\0', 0, G_OPTION_ARG_STRING, &s_options.web_extensions_dir,
"Load Web Extensions from given directory.",
"PATH"},
@@ -301,21 +293,10 @@ platform_setup (CogShell *shell)
@@ -299,21 +293,10 @@ platform_setup (CogShell *shell)
* a given platform.
*/
@ -63,4 +61,3 @@ index 950b14d..5f47d87 100644
+ strerror (errno));
return FALSE;
}

View File

@ -1,19 +1,19 @@
From: Gabriel Valcazar <gabriel.valcazar@digi.com>
Date: Tue, 10 Nov 2020 16:36:21 +0100
Date: Wed, 23 Jun 2021 10:17:59 +0200
Subject: [PATCH 2/2] cog-platform-fdo: always use fullscreen mode
Otherwise, the browser will spawn on a random place on the desktop every time.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
---
platform/cog-platform-fdo.c | 44 ++++++++++---------------------------
1 file changed, 12 insertions(+), 32 deletions(-)
platform/fdo/cog-platform-fdo.c | 50 ++++++++++-----------------------
1 file changed, 15 insertions(+), 35 deletions(-)
diff --git a/platform/cog-platform-fdo.c b/platform/cog-platform-fdo.c
index 7bdf075..08b0b21 100644
--- a/platform/cog-platform-fdo.c
+++ b/platform/cog-platform-fdo.c
@@ -1911,39 +1911,19 @@ create_window (GError **error)
diff --git a/platform/fdo/cog-platform-fdo.c b/platform/fdo/cog-platform-fdo.c
index c7e1eea..4f6c0c7 100644
--- a/platform/fdo/cog-platform-fdo.c
+++ b/platform/fdo/cog-platform-fdo.c
@@ -2134,42 +2134,22 @@ create_window (GError **error)
configure_surface_geometry (0, 0);
}
@ -26,6 +26,9 @@ index 7bdf075..08b0b21 100644
-
- if (wl_data.xdg_shell != NULL) {
- xdg_toplevel_set_fullscreen (win_data.xdg_toplevel, NULL);
- } else if (wl_data.fshell != NULL) {
- win_data.should_resize_to_largest_output = true;
- resize_to_largest_output ();
- } else if (wl_data.shell != NULL) {
- wl_shell_surface_set_fullscreen (win_data.shell_surface,
- WL_SHELL_SURFACE_FULLSCREEN_METHOD_SCALE,
@ -54,6 +57,9 @@ index 7bdf075..08b0b21 100644
- }
+ if (wl_data.xdg_shell != NULL) {
+ xdg_toplevel_set_fullscreen (win_data.xdg_toplevel, NULL);
+ } else if (wl_data.fshell != NULL) {
+ win_data.should_resize_to_largest_output = true;
+ resize_to_largest_output ();
+ } else if (wl_data.shell != NULL) {
+ wl_shell_surface_set_fullscreen (win_data.shell_surface,
+ WL_SHELL_SURFACE_FULLSCREEN_METHOD_SCALE,

View File

@ -0,0 +1,10 @@
require recipes-browser/cog/cog.inc
require conf/include/devupstream.inc
SRC_URI = "https://wpewebkit.org/releases/${P}.tar.xz"
SRC_URI[sha256sum] = "933adc74e7b2b7f879a0159b073aa601d58865621891c443d1c2481f9eee6c97"
SRC_URI_class-devupstream = "git://github.com/Igalia/cog.git;protocol=https;branch=cog-0.10"
SRCREV_class-devupstream = "1e422e5055f72e9914341ce9535aaf375b821946"
DEPENDS += "wpewebkit (>= 2.30) wpebackend-fdo (>= 1.8)"

View File

@ -0,0 +1,8 @@
require recipes-browser/libwpe/libwpe.inc
require conf/include/devupstream.inc
SRC_URI = "https://wpewebkit.org/releases//${BPN}-${PV}.tar.xz"
SRC_URI[sha256sum] = "2415e270d45e3595ed4052bc105f733744dc2d3677e12ff4a831e5029841084d"
SRC_URI_class-devupstream = "git://github.com/WebPlatformForEmbedded/libwpe.git;protocol=https;branch=libwpe-1.10"
SRCREV_class-devupstream = "55877263583716303a893945418ec23cffdfcbbf"

View File

@ -0,0 +1,7 @@
require recipes-browser/wpebackend-fdo/wpebackend-fdo.inc
inherit meson
SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz"
SRC_URI[md5sum] = "5c2f7fab6623e0964bc0d1b4a01719f0"
SRC_URI[sha1sum] = "d07fdfec0df53c57e3ed36a1efffecf30d1b418c"
SRC_URI[sha256sum] = "fc5b388a91d6f2c22803e1a21a6759a314b4539e5169c6e272bfc953a05fbb85"

View File

@ -0,0 +1,11 @@
require recipes-browser/wpewebkit/wpewebkit.inc
SRC_URI = "https://wpewebkit.org/releases/${P}.tar.xz"
SRC_URI[md5sum] = "1dd3f56b8eba16266166d757acb979fc"
SRC_URI[sha1sum] = "c5b3a48d886375a6982dd2dc5c9cc2f92f5a9690"
SRC_URI[sha256sum] = "7b6b39a12ccf3f84da4cc6ac59e02fbe328f7476eaeb9c23de9b9288c2c2f39c"
DEPENDS += "libwpe"
RCONFLICTS_${PN} = "libwpe (< 1.8) wpebackend-fdo (< 1.8)"
LIC_FILES_CHKSUM = "file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 "

View File

@ -377,9 +377,9 @@ check_swu_package() {
# Check software update package.
if [ -f "${PUBLIC_KEY}" ]; then
swupdate -c -v -i "${update_package}" -k "${PUBLIC_KEY}" > "${SWUPDATE_OUTPUT}"
swupdate -c -v -i "${update_package}" -e "${SWUPDATE_IMAGE_SET}" -k "${PUBLIC_KEY}" > "${SWUPDATE_OUTPUT}"
else
swupdate -c -v -i "${update_package}" > "${SWUPDATE_OUTPUT}"
swupdate -c -v -e "${SWUPDATE_IMAGE_SET}" -i "${update_package}" > "${SWUPDATE_OUTPUT}"
fi
if [ "$?" != "0" ]; then
@ -484,14 +484,15 @@ mount -t sysfs sysfs /sys
mount -t devtmpfs devtmpfs /dev
mount -t tmpfs tmpfs /tmp
# Give some time for the devices to settle down so mdev can mount all of them
sleep 2
# Register mdev as device manager
echo > /dev/mdev.seq
echo > /dev/mdev.log
mdev -d
mdev -s
# Give some time for the devices to settle down so mdev can mount all of them
sleep 2
# Run all shell scripts in postinstall folder
run-parts /etc/*-postinsts
@ -572,6 +573,13 @@ for p in ${BLACKLISTED}; do
encrypt_partitions=$(remove_entry "${encrypt_partitions}" "${p}")
done
# Select update package image
if [ "$(is_nand)" = "yes" ]; then
SWUPDATE_IMAGE_SET="mtd,platform"
else
SWUPDATE_IMAGE_SET="mmc,platform"
fi
# On eMMC, if the 'update' partition is encrypted, we need to mount it manually
if [ "$(is_nand)" = "no" ] && contains "${ENC_PARTS}" "update"; then
update_block="/dev/mmcblk0p$(fdisk -l /dev/mmcblk0 | sed -ne "s,^[^0-9]*\([0-9]\+\).*\<update\>.*,\1,g;T;p")"
@ -804,9 +812,9 @@ if [ -n "${update_package_bool}" ]; then
progress -wp &
# Execute the software update.
if [ -f "${PUBLIC_KEY}" ]; then
swupdate -f "${SW_CONFIG}" -i "${update_package}" -k "${PUBLIC_KEY}"
swupdate -e "${SWUPDATE_IMAGE_SET}" -f "${SW_CONFIG}" -i "${update_package}" -k "${PUBLIC_KEY}"
else
swupdate -f "${SW_CONFIG}" -i "${update_package}"
swupdate -e "${SWUPDATE_IMAGE_SET}" -f "${SW_CONFIG}" -i "${update_package}"
fi
if [ "$?" = "0" ]; then
log "Firmware update process succeed!"

View File

@ -0,0 +1,68 @@
SUMMARY = "Python Library for Coral devices"
DESCRIPTION = "Python Library to run inferences and perform on-device transfer learning with TensorFlow Lite models on Coral devices"
SECTION = "devel/python"
HOMEPAGE = "https://coral.ai/software/#pycoral-api"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/pycoral-1.0.1.dist-info/LICENSE;md5=d8927f3331d2b3e321b7dd1925166d25"
PYTHON_PACKAGE = "pycoral-1.0.1-cp38-cp38-linux_aarch64.whl"
SRC_URI = "git://github.com/google-coral/pycoral.git;protocol=https"
SRCREV = "d4b9f572fa3baef9d854483a171e02a6b3f9dbd0"
SRC_URI += "https://github.com/google-coral/pycoral/releases/download/v1.0.1/${PYTHON_PACKAGE};downloadfilename=${PYTHON_PACKAGE};subdir=${BP};name=python-wheel"
SRC_URI[python-wheel.md5sum] = "ea89677a47d7d81d2558b8dbbae44d95"
SRC_URI[python-wheel.sha256sum] = "894468447192fbcf946157db0f3b6424ece6d70bcec1243892d27cd7b521f176"
DEPENDS = "python3 python3-pip-native python3-wheel-native curl-native ca-certificates-native"
RDEPENDS_${PN} = "${PYTHON_PN} \
${PYTHON_PN}-numpy \
${PYTHON_PN}-pycairo \
${PYTHON_PN}-pygobject \
${PYTHON_PN}-pillow \
libedgetpu \
tensorflow-lite \
"
inherit python3native
do_unpack[depends] += "unzip-native:do_populate_sysroot"
do_unpack_extra(){
[ -d ${S} ] || mkdir -p ${S}
cd ${S}
unzip -q -o ${S}/${PYTHON_PACKAGE} -d ${S}
}
addtask unpack_extra after do_unpack before do_patch
do_configure() {
export CURL_CA_BUNDLE=${STAGING_DIR_NATIVE}/etc/ssl/certs/ca-certificates.crt
cd ${WORKDIR}/git
bash examples/install_requirements.sh classify_image.py
}
do_install() {
# Install examples
install -d ${D}/opt/pycoral
install -m 0555 ${WORKDIR}/git/test_data/* ${D}/opt/pycoral
install -m 0555 ${WORKDIR}/git/examples/classify_image.py ${D}/opt/pycoral
# Install pip package
install -d ${D}/${PYTHON_SITEPACKAGES_DIR}
${STAGING_BINDIR_NATIVE}/pip3 install --disable-pip-version-check -v \
-t ${D}/${PYTHON_SITEPACKAGES_DIR} --no-cache-dir --no-deps \
${WORKDIR}/${BP}/pycoral-*.whl
}
FILES_${PN} += "\
${libdir}/${PYTHON_DIR}/site-packages/* \
/opt/pycoral/* \
"
INSANE_SKIP_${PN} += "already-stripped"
COMPATIBLE_MACHINE = "(-)"
COMPATIBLE_MACHINE_aarch64 = "(.*)"

View File

@ -0,0 +1,48 @@
DESCRIPTION = "Open-source software for mathematics, science, and engineering. It includes modules for statistics, optimization, integration, linear algebra, Fourier transforms, signal and image processing, ODE solvers, and more."
SECTION = "devel/python"
HOMEPAGE = "https://www.scipy.org"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://${S}/scipy-1.7.0.dist-info/LICENSE.txt;md5=caecddab96f03de0092b62333ea77f91"
PYTHON_PACKAGE = "scipy-1.7.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
SRC_URI = "https://files.pythonhosted.org/packages/d0/8d/3dbb59d78218b6a76f1ddb55db60ea5459fa7968655acb21252a59a10bc3/${PYTHON_PACKAGE};subdir=${BP}"
SRC_URI[md5sum] = "e2e369078c6b7ca29c952cb9971bc154"
SRC_URI[sha256sum] = "bd4399d4388ca0239a4825e312b3e61b60f743dd6daf49e5870837716502a92a"
DEPENDS = "python3 python3-pip-native python3-wheel-native"
RDEPENDS_${PN} = "${PYTHON_PN} \
${PYTHON_PN}-numpy \
"
RPROVIDES_${PN} += "\
libgfortran-daac5196.so.5.0.0(GFORTRAN_8)(64bit) \
"
inherit python3native
do_unpack[depends] += "unzip-native:do_populate_sysroot"
do_unpack_extra(){
[ -d ${S} ] || mkdir -p ${S}
cd ${S}
unzip -q -o ${S}/${PYTHON_PACKAGE} -d ${S}
}
addtask unpack_extra after do_unpack before do_patch
do_install() {
# Install pip package
install -d ${D}/${PYTHON_SITEPACKAGES_DIR}
${STAGING_BINDIR_NATIVE}/pip3 install --disable-pip-version-check -v \
-t ${D}/${PYTHON_SITEPACKAGES_DIR} --no-cache-dir --no-deps \
${WORKDIR}/${BP}/scipy-*.whl
}
FILES_${PN} += "\
${libdir}/${PYTHON_DIR}/site-packages/* \
"
INSANE_SKIP_${PN} += "already-stripped"
COMPATIBLE_MACHINE = "(-)"
COMPATIBLE_MACHINE_aarch64 = "(.*)"

View File

@ -0,0 +1,13 @@
DESCRIPTION = "Python library to create SVG drawings"
SECTION = "devel/python"
HOMEPAGE = "https://github.com/mozman/svgwrite"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=3e14f2d1a8674ddcbbd8b51762250049"
inherit pypi setuptools3
PYPI_PACKAGE = "svgwrite"
PYPI_PACKAGE_EXT = "zip"
SRC_URI[md5sum] = "6132f0d8611ac0d5a8a8731636aa03f8"
SRC_URI[sha256sum] = "e220a4bf189e7e214a55e8a11421d152b5b6fb1dd660c86a8b6b61fe8cc2ac48"

View File

@ -1,20 +0,0 @@
software =
{
version = "##SW_VERSION##";
description = "##DESCRIPTION##";
images: (
{
filename = "##BOOTIMG_NAME##";
volume = "##BOOT_DEV##";
type = "ubivol";
sha256 = "@##BOOTIMG_NAME##";
},
{
filename = "##ROOTIMG_NAME##";
volume = "##ROOTFS_DEV##";
type = "ubivol";
sha256 = "@##ROOTIMG_NAME##";
}
);
}

View File

@ -3,6 +3,8 @@ software =
version = "##SW_VERSION##";
description = "##DESCRIPTION##";
mmc = {
platform: {
images: (
{
filename = "##BOOTIMG_NAME##";
@ -16,8 +18,31 @@ software =
device = "##ROOTFS_DEV##";
type ="raw";
sha256 = "@##ROOTIMG_NAME##";
compressed = "zlib";
installed-directly = true;
}
);
##PREINSTALL_SCRIPT##
}
##PREINSTALL_SCRIPT##
};
mtd = {
platform: {
images: (
{
filename = "##BOOTIMG_NAME##";
volume = "##BOOT_DEV##";
type = "ubivol";
sha256 = "@##BOOTIMG_NAME##";
installed-directly = true;
},
{
filename = "##ROOTIMG_NAME##";
volume = "##ROOTFS_DEV##";
type ="ubivol";
sha256 = "@##ROOTIMG_NAME##";
installed-directly = true;
}
);
};
};
}

View File

@ -22,7 +22,7 @@ DESCRIPTION = "${@oe.utils.ifelse(d.getVar('TRUSTFENCE_ENCRYPT_ROOTFS', True) ==
BOOTFS_EXT ?= ".boot.vfat"
BOOTFS_EXT_ccimx6ul ?= ".boot.ubifs"
ROOTFS_EXT ?= ".ext4"
ROOTFS_EXT ?= ".ext4.gz"
ROOTFS_EXT_ccimx6ul ?= ".ubifs"
BOOT_DEV_NAME ?= "/dev/mmcblk0p1"

View File

@ -27,6 +27,8 @@ MACHINE_GSTREAMER_1_0_PKGS_ccimx6ul = " \
gstreamer1.0-plugins-good-video4linux2 \
gstreamer1.0-plugins-good-videofilter \
gstreamer1.0-plugins-good-vpx \
gstreamer1.0-plugins-good-avi \
gstreamer1.0-plugins-good-jpeg \
"
MACHINE_GSTREAMER_1_0_EXTRA_INSTALL ?= ""