Merge tag 'dey-4.0-r4.1' into dey-4.0/master
Digi Embedded Yocto 4.0-r4.1 Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit is contained in:
commit
65f7ca3999
90
README.md
90
README.md
|
|
@ -1,5 +1,5 @@
|
|||
# Digi Embedded Yocto (DEY) 4.0
|
||||
## Release 4.0-r3
|
||||
## Release 4.0-r4
|
||||
|
||||
This document provides information about Digi Embedded Yocto,
|
||||
Digi International's professional embedded Yocto development environment.
|
||||
|
|
@ -59,6 +59,18 @@ Software for the following hardware platforms is in production support:
|
|||
* ConnectCore 8M Nano Development Kit (DVK)
|
||||
* [CC-WMX8MN-KIT](https://www.digi.com/products/models/cc-wmx8mn-kit) ([Get Started](https://www.digi.com/resources/documentation/digidocs/embedded/dey/4.0/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)
|
||||
* [CC-MX-JM8D-ZN](https://www.digi.com/products/models/cc-mx-jm8d-zn)
|
||||
* [CC-MX-JM7D-ZN](https://www.digi.com/cc8x)
|
||||
* [CC-WMX-JM7D-NN](https://www.digi.com/products/models/cc-wmx-jm7d-nn)
|
||||
* [CC-MX-JQ6D-ZN](https://www.digi.com/cc8x)
|
||||
* [CC-MX-JQ7D-ZN](https://www.digi.com/cc8x)
|
||||
* [CC-WMX-JQ7D-ZN](https://www.digi.com/cc8x)
|
||||
* ConnectCore 8X SBC Pro
|
||||
* [CC-WMX8-PRO](https://www.digi.com/products/embedded-systems/single-board-computers/digi-connectcore-8x-sbc-pro) ([Get Started](https://www.digi.com/resources/documentation/digidocs/embedded/dey/4.0/cc8x/yocto-gs_index))
|
||||
|
||||
## ConnectCore 6UL
|
||||
* ConnectCore 6UL System-on-Module (SOM)
|
||||
* [CC-WMX-JN7A-NE](https://www.digi.com/products/models/cc-wmx-jn7a-ne)
|
||||
|
|
@ -74,6 +86,32 @@ Software for the following hardware platforms is in production support:
|
|||
* [CC-SBP-WMX-JN58](https://www.digi.com/products/models/cc-sbp-wmx-jn58)
|
||||
* [CC-SBP-WMX-JN7A](https://www.digi.com/products/models/cc-sbp-wmx-jn7a)
|
||||
|
||||
## ConnectCore 6 Plus
|
||||
* ConnectCore 6 Plus System-on-Module (SOM)
|
||||
* [CC-WMX-KK8D-TN](https://www.digi.com/products/models/cc-wmx-kk8d-tn)
|
||||
* ConnectCore 6 Plus professional development kit
|
||||
* [CC-WMX6P-KIT](https://www.digi.com/products/models/cc-wmx6p-kit) ([Get Started](https://www.digi.com/resources/documentation/digidocs/embedded/dey/4.0/cc6plus/yocto-gs_index))
|
||||
|
||||
## ConnectCore 6
|
||||
* ConnectCore 6 System-on-Module (SOM)
|
||||
* [CC-WMX-J97C-TN](https://www.digi.com/products/models/cc-wmx-j97c-tn)
|
||||
* [CC-WMX-L96C-TE](https://www.digi.com/products/models/cc-wmx-l96c-te)
|
||||
* [CC-WMX-L87C-TE](https://www.digi.com/products/models/cc-wmx-l87c-te)
|
||||
* [CC-MX-L76C-Z1](https://www.digi.com/products/models/cc-mx-l76c-z1)
|
||||
* [CC-MX-L86C-Z1](https://www.digi.com/products/models/cc-mx-l86c-z1)
|
||||
* [CC-MX-L96C-Z1](https://www.digi.com/products/models/cc-mx-l96c-z1)
|
||||
* [CC-WMX-L76C-TE](https://www.digi.com/products/models/cc-wmx-l76c-te)
|
||||
* CC-WMX-K87C-FJA
|
||||
* CC-WMX-K77C-TE
|
||||
* CC-WMX-L97D-TN
|
||||
* CC-WMX-J98C-FJA
|
||||
* CC-WMX-J98C-FJA-1
|
||||
* ConnectCore 6 Jumpstart Development Kit (SBC with Connectore 6 module)
|
||||
* [CC-WMX6-KIT](https://www.digi.com/products/models/cc-wmx6-kit) ([Get Started](https://www.digi.com/resources/documentation/digidocs/embedded/dey/4.0/cc6/yocto-gs_index))
|
||||
* [CC-SB-WMX-J97C-1](https://www.digi.com/products/models/cc-sb-wmx-j97c-1)
|
||||
* [CC-SB-WMX-L87C-1](https://www.digi.com/products/models/cc-sb-wmx-l87c-1)
|
||||
* [CC-SB-WMX-L76C-1](https://www.digi.com/products/models/cc-sb-wmx-l76c-1)
|
||||
|
||||
# Installation
|
||||
|
||||
Digi Embedded Yocto is composed of a set of different Yocto layers that work in
|
||||
|
|
@ -87,11 +125,57 @@ Documentation is available online at https://www.digi.com/resources/documentatio
|
|||
|
||||
# Downloads
|
||||
|
||||
* Demo images: https://ftp1.digi.com/support/digiembeddedyocto/4.0/r3/images/
|
||||
* Software Development Kit (SDK): https://ftp1.digi.com/support/digiembeddedyocto/4.0/r3/sdk/
|
||||
* Demo images: https://ftp1.digi.com/support/digiembeddedyocto/4.0/r4/images/
|
||||
* Software Development Kit (SDK): https://ftp1.digi.com/support/digiembeddedyocto/4.0/r4/sdk/
|
||||
|
||||
# Release Changelog
|
||||
|
||||
## 4.0-r4
|
||||
|
||||
* ST-based platforms
|
||||
* Reworked NAND partition table and disabled UBI Fastmap mechanism.
|
||||
* Updated BSP
|
||||
* Updated Trusted Firmware ARM (based on tag 'v2.6-stm32mp-r2.1' by ST)
|
||||
* Updated OP-TEE (based on tag 'v2.6-stm32mp-r2.1' by ST)
|
||||
* Updated U-Boot v2021.10 (based on tag 'v2.6-stm32mp-r2.1' by ST)
|
||||
* Updated Linux kernel v5.15.118 (based on tag 'v2.6-stm32mp-r2.1' by ST)
|
||||
* Updated Bluetooth firmware to comply with FCC and CE regulations (release 001.001.025 build 0155 from Murata)
|
||||
* Restricted Wi-Fi regulatory domain to US only
|
||||
* Re-enable auto-mount of microSD card on kernel boot
|
||||
* Add sdcard generation support
|
||||
* NXP-based platforms
|
||||
* Added support to ConnectCore 6/6 Plus
|
||||
* U-Boot v2017.03
|
||||
* Linux kernel v5.15.71 (based on tag 'lf-5.15.71-2.2.0' by NXP)
|
||||
* Added support to ConnectCore 8X
|
||||
* U-Boot v2020.04
|
||||
* Migrate imx-boot format to use SPL support to use the same binary for all memory variants
|
||||
* Linux kernel v5.15.71 (based on tag 'lf-5.15.71-2.2.0' by NXP)
|
||||
* Updated support to ConnectCore 93
|
||||
* U-Boot v2023.04 (based on tag 'lf-6.1.22-2.0.0' by NXP)
|
||||
* Linux kernel v6.1.22 (based on tag 'lf-6.1.22-2.0.0' by NXP)
|
||||
* Arm Ethos-U65 Neural Processing Unit (NPU) acceleration for machine learning
|
||||
* Updated QT6 to v6.5
|
||||
* Improved bootcount support:
|
||||
* Bootcount feature is now always active and not only after a dual boot firmware update. This new configuration applies to all platforms except for CC6 based devices, which will keep the previous behavior.
|
||||
* Bootcount value is now stored in registers with soft reset protection to maintain the value:
|
||||
* CC6 devices: bootcount is still stored in the U-Boot environment.
|
||||
* CC6UL/CC8X/CC8M devices: bootcount is stored in the MCA NVMEM registers.
|
||||
* CCMP1/CC93 devices: bootcount is stored in the DVK RTC NVMEM registers.
|
||||
* Added a bootcount command to U-Boot and Linux to manage the boocount value.
|
||||
* Moved 'altboot' script functionality to 'altbootcmd' in U-Boot and removed all the 'altboot' scripts
|
||||
* Improved SWU package support and generation:
|
||||
* Generalized and simplified recipes to generate the SWU packages using a custom class
|
||||
* Added support to create a new SWU package based on files to update only specific parts of the active system
|
||||
* Added support to create a new SWU package based on binary differences to update read-only squashfs rootfs partitions
|
||||
* New ConnectCore Cloud Services (CCCS) application design:
|
||||
* Daemon ('cccsd') with general services (cloud connection, files system, system monitor, firmware update, remote command line) and capable of communicate with other applications via CCCS API to send and receive data
|
||||
* CCCS API applications communicating with CCCS daemon to send data points to the cloud and receive data requests from the cloud
|
||||
Default images include:
|
||||
* ConnectCore Cloud Services get started demo ('cccs-gs-demo')
|
||||
* Example applications in 'dey-examples': 'cccs-upload-data-points-example' and 'cccs-data-request-example'
|
||||
* General bug fixing and improvements
|
||||
|
||||
## 4.0-r3
|
||||
|
||||
* ST-based platforms
|
||||
|
|
|
|||
|
|
@ -56,12 +56,22 @@ setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.vfat
|
|||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ext4
|
||||
|
||||
# Check for presence of firmware files on the SD card
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}; do
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}; do
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${install_f}; then
|
||||
echo "ERROR: Could not find file ${install_f}";
|
||||
install_abort=1;
|
||||
fi;
|
||||
done
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.squashfs
|
||||
echo "INFO: Trying with file ${INSTALL_ROOTFS_FILENAME}";
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
install_abort=1;
|
||||
fi
|
||||
fi
|
||||
if test "${install_abort}" = "1"; then
|
||||
echo "To install a different image, set variable 'image-name', e.g.:"
|
||||
echo " => setenv image-name core-image-base"
|
||||
|
|
|
|||
|
|
@ -56,12 +56,22 @@ setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.vfat
|
|||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ext4
|
||||
|
||||
# Check for presence of firmware files on the USB
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}; do
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}; do
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${install_f}; then
|
||||
echo "ERROR: Could not find file ${install_f}";
|
||||
install_abort=1;
|
||||
fi;
|
||||
done
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.squashfs
|
||||
echo "INFO: Trying with file ${INSTALL_ROOTFS_FILENAME}";
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
install_abort=1;
|
||||
fi
|
||||
fi
|
||||
if test "${install_abort}" = "1"; then
|
||||
echo "To install a different image, set variable 'image-name', e.g.:"
|
||||
echo " => setenv image-name core-image-base"
|
||||
|
|
|
|||
|
|
@ -164,8 +164,8 @@ if [ -f ${COMPRESSED_ROOTFS_IMAGE} ] && [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; the
|
|||
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}"
|
||||
# Verify existence of files before starting the update
|
||||
FILES="${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}"
|
||||
for f in ${FILES}; do
|
||||
if [ ! -f ${f} ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${f}'\033[0m"
|
||||
|
|
@ -173,6 +173,17 @@ for f in ${FILES}; do
|
|||
fi
|
||||
done;
|
||||
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
INSTALL_ROOTFS_FILENAME="${BASEFILENAME}-##MACHINE##.squashfs"
|
||||
echo "\033[32m[INFO] Trying with file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
if [ ! -f "${INSTALL_ROOTFS_FILENAME}" ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
ABORT=true
|
||||
fi
|
||||
fi
|
||||
|
||||
[ "${ABORT}" = true ] && exit 1
|
||||
|
||||
# parts names
|
||||
|
|
|
|||
|
|
@ -67,12 +67,22 @@ setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.vfat
|
|||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ext4
|
||||
|
||||
# Check for presence of firmware files on the SD card
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}; do
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}; do
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${install_f}; then
|
||||
echo "ERROR: Could not find file ${install_f}";
|
||||
install_abort=1;
|
||||
fi;
|
||||
done
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.squashfs
|
||||
echo "INFO: Trying with file ${INSTALL_ROOTFS_FILENAME}";
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
install_abort=1;
|
||||
fi
|
||||
fi
|
||||
if test "${install_abort}" = "1"; then
|
||||
echo "To install a different image, set variable 'image-name', e.g.:"
|
||||
echo " => setenv image-name core-image-base"
|
||||
|
|
|
|||
|
|
@ -67,12 +67,22 @@ setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.vfat
|
|||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ext4
|
||||
|
||||
# Check for presence of firmware files on the USB
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}; do
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}; do
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${install_f}; then
|
||||
echo "ERROR: Could not find file ${install_f}";
|
||||
install_abort=1;
|
||||
fi;
|
||||
done
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.squashfs
|
||||
echo "INFO: Trying with file ${INSTALL_ROOTFS_FILENAME}";
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
install_abort=1;
|
||||
fi
|
||||
fi
|
||||
if test "${install_abort}" = "1"; then
|
||||
echo "To install a different image, set variable 'image-name', e.g.:"
|
||||
echo " => setenv image-name core-image-base"
|
||||
|
|
|
|||
|
|
@ -182,8 +182,8 @@ if [ -f ${COMPRESSED_ROOTFS_IMAGE} ] && [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; the
|
|||
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}"
|
||||
# Verify existence of files before starting the update
|
||||
FILES="${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}"
|
||||
for f in ${FILES}; do
|
||||
if [ ! -f ${f} ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${f}'\033[0m"
|
||||
|
|
@ -191,6 +191,17 @@ for f in ${FILES}; do
|
|||
fi
|
||||
done;
|
||||
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
INSTALL_ROOTFS_FILENAME="${BASEFILENAME}-##MACHINE##.squashfs"
|
||||
echo "\033[32m[INFO] Trying with file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
if [ ! -f "${INSTALL_ROOTFS_FILENAME}" ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
ABORT=true
|
||||
fi
|
||||
fi
|
||||
|
||||
[ "${ABORT}" = true ] && exit 1
|
||||
|
||||
# parts names
|
||||
|
|
|
|||
|
|
@ -60,12 +60,24 @@ setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.ubifs
|
|||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ubifs
|
||||
|
||||
# Check for presence of firmware files on the SD card
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}; do
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}; do
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${install_f}; then
|
||||
echo "ERROR: Could not find file ${install_f}";
|
||||
install_abort=1;
|
||||
fi;
|
||||
done
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.squashfs
|
||||
echo "INFO: Trying with file ${INSTALL_ROOTFS_FILENAME}";
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
install_abort=1;
|
||||
else
|
||||
setenv rootfstype squashfs
|
||||
fi
|
||||
fi
|
||||
if test "${install_abort}" = "1"; then
|
||||
echo "To install a different image, set variable 'image-name', e.g.:"
|
||||
echo " => setenv image-name core-image-base"
|
||||
|
|
@ -148,6 +160,7 @@ setenv bootcmd "
|
|||
env default -a;
|
||||
setenv singlemtdsys ${singlemtdsys};
|
||||
setenv dualboot ${dualboot};
|
||||
setenv rootfstype ${rootfstype};
|
||||
setenv install_dualboot ${install_dualboot};
|
||||
run partition_nand_linux;
|
||||
saveenv;
|
||||
|
|
|
|||
|
|
@ -60,12 +60,26 @@ setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.ubifs
|
|||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ubifs
|
||||
|
||||
# Check for presence of firmware files on the USB
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}; do
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}; do
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${install_f}; then
|
||||
echo "ERROR: Could not find file ${install_f}";
|
||||
install_abort=1;
|
||||
fi;
|
||||
done
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.squashfs
|
||||
echo "INFO: Trying with file ${INSTALL_ROOTFS_FILENAME}";
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
install_abort=1;
|
||||
else
|
||||
setenv rootfstype squashfs
|
||||
fi
|
||||
else
|
||||
setenv rootfstype
|
||||
fi
|
||||
if test "${install_abort}" = "1"; then
|
||||
echo "To install a different image, set variable 'image-name', e.g.:"
|
||||
echo " => setenv image-name core-image-base"
|
||||
|
|
@ -148,6 +162,7 @@ setenv bootcmd "
|
|||
env default -a;
|
||||
setenv singlemtdsys ${singlemtdsys};
|
||||
setenv dualboot ${dualboot};
|
||||
setenv rootfstype ${rootfstype};
|
||||
setenv install_dualboot ${install_dualboot};
|
||||
run partition_nand_linux;
|
||||
saveenv;
|
||||
|
|
|
|||
|
|
@ -171,8 +171,8 @@ INSTALL_LINUX_FILENAME="${BASEFILENAME}-##MACHINE##.boot.ubifs"
|
|||
INSTALL_RECOVERY_FILENAME="${BASEFILENAME}-##MACHINE##.recovery.ubifs"
|
||||
INSTALL_ROOTFS_FILENAME="${BASEFILENAME}-##MACHINE##.ubifs"
|
||||
|
||||
# Verify existance of files before starting the update
|
||||
FILES="${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}"
|
||||
# Verify existence of files before starting the update
|
||||
FILES="${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}"
|
||||
for f in ${FILES}; do
|
||||
if [ ! -f ${f} ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${f}'\033[0m"
|
||||
|
|
@ -180,6 +180,19 @@ for f in ${FILES}; do
|
|||
fi
|
||||
done;
|
||||
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
INSTALL_ROOTFS_FILENAME="${BASEFILENAME}-##MACHINE##.squashfs"
|
||||
echo "\033[32m[INFO] Trying with file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
if [ -f "${INSTALL_ROOTFS_FILENAME}" ]; then
|
||||
SQUASHFS=true
|
||||
else
|
||||
echo "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
ABORT=true
|
||||
fi
|
||||
fi
|
||||
|
||||
[ "${ABORT}" = true ] && exit 1
|
||||
|
||||
# parts names
|
||||
|
|
@ -303,6 +316,12 @@ if [ "${DUALBOOT}" != true ]; then
|
|||
uuu fb: ucmd setenv boot_recovery yes
|
||||
uuu fb: ucmd setenv recovery_command wipe_update
|
||||
fi
|
||||
|
||||
# Set the rootfstype if squashfs
|
||||
if [ "${SQUASHFS}" = true ]; then
|
||||
uuu fb: ucmd setenv rootfstype squashfs
|
||||
fi
|
||||
|
||||
uuu fb: ucmd saveenv
|
||||
|
||||
# Reset the target
|
||||
|
|
|
|||
|
|
@ -27,12 +27,22 @@ setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.vfat
|
|||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ext4
|
||||
|
||||
# Check for presence of firmware files on the SD card
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}; do
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}; do
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${install_f}; then
|
||||
echo "ERROR: Could not find file ${install_f}";
|
||||
install_abort=1;
|
||||
fi;
|
||||
done
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.squashfs
|
||||
echo "INFO: Trying with file ${INSTALL_ROOTFS_FILENAME}";
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
install_abort=1;
|
||||
fi
|
||||
fi
|
||||
if test "${install_abort}" = "1"; then
|
||||
echo "To install a different image, set variable 'image-name', e.g.:"
|
||||
echo " => setenv image-name core-image-base"
|
||||
|
|
|
|||
|
|
@ -27,12 +27,22 @@ setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.vfat
|
|||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ext4
|
||||
|
||||
# Check for presence of firmware files on the USB
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}; do
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}; do
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${install_f}; then
|
||||
echo "ERROR: Could not find file ${install_f}";
|
||||
install_abort=1;
|
||||
fi;
|
||||
done
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.squashfs
|
||||
echo "INFO: Trying with file ${INSTALL_ROOTFS_FILENAME}";
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
install_abort=1;
|
||||
fi
|
||||
fi
|
||||
if test "${install_abort}" = "1"; then
|
||||
echo "To install a different image, set variable 'image-name', e.g.:"
|
||||
echo " => setenv image-name core-image-base"
|
||||
|
|
|
|||
|
|
@ -130,8 +130,8 @@ if [ -f ${COMPRESSED_ROOTFS_IMAGE} ] && [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; the
|
|||
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}"
|
||||
# Verify existence of files before starting the update
|
||||
FILES="${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}"
|
||||
for f in ${FILES}; do
|
||||
if [ ! -f ${f} ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${f}'\033[0m"
|
||||
|
|
@ -139,6 +139,17 @@ for f in ${FILES}; do
|
|||
fi
|
||||
done;
|
||||
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
INSTALL_ROOTFS_FILENAME="${BASEFILENAME}-##MACHINE##.squashfs"
|
||||
echo "\033[32m[INFO] Trying with file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
if [ ! -f "${INSTALL_ROOTFS_FILENAME}" ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
ABORT=true
|
||||
fi
|
||||
fi
|
||||
|
||||
[ "${ABORT}" = true ] && exit 1
|
||||
|
||||
# parts names
|
||||
|
|
|
|||
|
|
@ -39,12 +39,22 @@ setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.vfat
|
|||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ext4
|
||||
|
||||
# Check for presence of firmware files on the SD card
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}; do
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}; do
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${install_f}; then
|
||||
echo "ERROR: Could not find file ${install_f}";
|
||||
install_abort=1;
|
||||
fi;
|
||||
done
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.squashfs
|
||||
echo "INFO: Trying with file ${INSTALL_ROOTFS_FILENAME}";
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
install_abort=1;
|
||||
fi
|
||||
fi
|
||||
if test "${install_abort}" = "1"; then
|
||||
echo "To install a different image, set variable 'image-name', e.g.:"
|
||||
echo " => setenv image-name core-image-base"
|
||||
|
|
|
|||
|
|
@ -39,12 +39,22 @@ setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.vfat
|
|||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ext4
|
||||
|
||||
# Check for presence of firmware files on the USB
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}; do
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}; do
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${install_f}; then
|
||||
echo "ERROR: Could not find file ${install_f}";
|
||||
install_abort=1;
|
||||
fi;
|
||||
done
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.squashfs
|
||||
echo "INFO: Trying with file ${INSTALL_ROOTFS_FILENAME}";
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
install_abort=1;
|
||||
fi
|
||||
fi
|
||||
if test "${install_abort}" = "1"; then
|
||||
echo "To install a different image, set variable 'image-name', e.g.:"
|
||||
echo " => setenv image-name core-image-base"
|
||||
|
|
|
|||
|
|
@ -137,8 +137,8 @@ if [ -f ${COMPRESSED_ROOTFS_IMAGE} ] && [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; the
|
|||
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}"
|
||||
# Verify existence of files before starting the update
|
||||
FILES="${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}"
|
||||
for f in ${FILES}; do
|
||||
if [ ! -f ${f} ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${f}'\033[0m"
|
||||
|
|
@ -146,6 +146,17 @@ for f in ${FILES}; do
|
|||
fi
|
||||
done;
|
||||
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
INSTALL_ROOTFS_FILENAME="${BASEFILENAME}-##MACHINE##.squashfs"
|
||||
echo "\033[32m[INFO] Trying with file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
if [ ! -f "${INSTALL_ROOTFS_FILENAME}" ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
ABORT=true
|
||||
fi
|
||||
fi
|
||||
|
||||
[ "${ABORT}" = true ] && exit 1
|
||||
|
||||
# parts names
|
||||
|
|
|
|||
|
|
@ -27,12 +27,22 @@ setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.vfat
|
|||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ext4
|
||||
|
||||
# Check for presence of firmware files on the SD card
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}; do
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}; do
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${install_f}; then
|
||||
echo "ERROR: Could not find file ${install_f}";
|
||||
install_abort=1;
|
||||
fi;
|
||||
done
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.squashfs
|
||||
echo "INFO: Trying with file ${INSTALL_ROOTFS_FILENAME}";
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
install_abort=1;
|
||||
fi
|
||||
fi
|
||||
if test "${install_abort}" = "1"; then
|
||||
echo "Aborted.";
|
||||
exit;
|
||||
|
|
|
|||
|
|
@ -27,12 +27,22 @@ setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.vfat
|
|||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ext4
|
||||
|
||||
# Check for presence of firmware files on the USB
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}; do
|
||||
for install_f in ${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}; do
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${install_f}; then
|
||||
echo "ERROR: Could not find file ${install_f}";
|
||||
install_abort=1;
|
||||
fi;
|
||||
done
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.squashfs
|
||||
echo "INFO: Trying with file ${INSTALL_ROOTFS_FILENAME}";
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
install_abort=1;
|
||||
fi
|
||||
fi
|
||||
if test "${install_abort}" = "1"; then
|
||||
echo "Aborted.";
|
||||
exit;
|
||||
|
|
|
|||
|
|
@ -130,8 +130,8 @@ if [ -f ${COMPRESSED_ROOTFS_IMAGE} ] && [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; the
|
|||
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}"
|
||||
# Verify existence of files before starting the update
|
||||
FILES="${INSTALL_UBOOT_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}"
|
||||
for f in ${FILES}; do
|
||||
if [ ! -f ${f} ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${f}'\033[0m"
|
||||
|
|
@ -139,6 +139,17 @@ for f in ${FILES}; do
|
|||
fi
|
||||
done;
|
||||
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
INSTALL_ROOTFS_FILENAME="${BASEFILENAME}-##MACHINE##.squashfs"
|
||||
echo "\033[32m[INFO] Trying with file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
if [ ! -f "${INSTALL_ROOTFS_FILENAME}" ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
ABORT=true
|
||||
fi
|
||||
fi
|
||||
|
||||
[ "${ABORT}" = true ] && exit 1
|
||||
|
||||
# parts names
|
||||
|
|
|
|||
|
|
@ -28,12 +28,24 @@ setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.ubifs
|
|||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ubifs
|
||||
|
||||
# Check for presence of firmware files on the SD card
|
||||
for install_f in ${INSTALL_ATF_FILENAME} ${INSTALL_FIP_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}; do
|
||||
for install_f in ${INSTALL_ATF_FILENAME} ${INSTALL_FIP_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}; do
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${install_f}; then
|
||||
echo "ERROR: Could not find file ${install_f}";
|
||||
install_abort=1;
|
||||
fi;
|
||||
done
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.squashfs
|
||||
echo "INFO: Trying with file ${INSTALL_ROOTFS_FILENAME}";
|
||||
if test ! -e mmc ${INSTALL_MMCDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
install_abort=1;
|
||||
else
|
||||
setenv rootfstype squashfs
|
||||
fi
|
||||
fi
|
||||
if test "${install_abort}" = "1"; then
|
||||
echo "To install a different image, set variable 'image-name', e.g.:"
|
||||
echo " => setenv image-name core-image-base"
|
||||
|
|
@ -147,6 +159,7 @@ fi
|
|||
setenv bootcmd "
|
||||
env default -a;
|
||||
setenv dualboot ${dualboot};
|
||||
setenv rootfstype ${rootfstype};
|
||||
setenv install_dualboot ${install_dualboot};
|
||||
run ubivolscript;
|
||||
if test \"\$\{dualboot\}\" = yes; then
|
||||
|
|
|
|||
|
|
@ -28,12 +28,26 @@ setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.ubifs
|
|||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ubifs
|
||||
|
||||
# Check for presence of firmware files on the USB
|
||||
for install_f in ${INSTALL_ATF_FILENAME} ${INSTALL_FIP_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}; do
|
||||
for install_f in ${INSTALL_ATF_FILENAME} ${INSTALL_FIP_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}; do
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${install_f}; then
|
||||
echo "ERROR: Could not find file ${install_f}";
|
||||
install_abort=1;
|
||||
fi;
|
||||
done
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.squashfs
|
||||
echo "INFO: Trying with file ${INSTALL_ROOTFS_FILENAME}";
|
||||
if test ! -e usb ${INSTALL_USBDEV} ${INSTALL_ROOTFS_FILENAME}; then
|
||||
echo "ERROR: Could not find file ${INSTALL_ROOTFS_FILENAME}";
|
||||
install_abort=1;
|
||||
else
|
||||
setenv rootfstype squashfs
|
||||
fi
|
||||
else
|
||||
setenv rootfstype
|
||||
fi
|
||||
if test "${install_abort}" = "1"; then
|
||||
echo "To install a different image, set variable 'image-name', e.g.:"
|
||||
echo " => setenv image-name core-image-base"
|
||||
|
|
@ -147,6 +161,7 @@ fi
|
|||
setenv bootcmd "
|
||||
env default -a;
|
||||
setenv dualboot ${dualboot};
|
||||
setenv rootfstype ${rootfstype};
|
||||
setenv install_dualboot ${install_dualboot};
|
||||
run ubivolscript;
|
||||
usb start;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
#===============================================================================
|
||||
#
|
||||
# Copyright (C) 2022 by Digi International Inc.
|
||||
# Copyright (C) 2022-2023 by Digi International Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
|
|
@ -141,8 +141,8 @@ INSTALL_LINUX_FILENAME="${BASEFILENAME}-##MACHINE##.boot.ubifs"
|
|||
INSTALL_RECOVERY_FILENAME="${BASEFILENAME}-##MACHINE##.recovery.ubifs"
|
||||
INSTALL_ROOTFS_FILENAME="${BASEFILENAME}-##MACHINE##.ubifs"
|
||||
|
||||
# Verify existance of files before starting the update
|
||||
FILES="${INSTALL_ATF_FILENAME} ${INSTALL_FIP_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME} ${INSTALL_ROOTFS_FILENAME}"
|
||||
# Verify existence of files before starting the update
|
||||
FILES="${INSTALL_ATF_FILENAME} ${INSTALL_FIP_FILENAME} ${INSTALL_LINUX_FILENAME} ${INSTALL_RECOVERY_FILENAME}"
|
||||
for f in ${FILES}; do
|
||||
if [ ! -f ${f} ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${f}'\033[0m"
|
||||
|
|
@ -150,6 +150,19 @@ for f in ${FILES}; do
|
|||
fi
|
||||
done;
|
||||
|
||||
# Verify what kind of rootfs is going to be programmed
|
||||
if [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; then
|
||||
echo "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
INSTALL_ROOTFS_FILENAME="${BASEFILENAME}-##MACHINE##.squashfs"
|
||||
echo "\033[32m[INFO] Trying with file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
if [ -f "${INSTALL_ROOTFS_FILENAME}" ]; then
|
||||
SQUASHFS=true
|
||||
else
|
||||
echo "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m"
|
||||
ABORT=true
|
||||
fi
|
||||
fi
|
||||
|
||||
[ "${ABORT}" = true ] && exit 1
|
||||
|
||||
# parts names
|
||||
|
|
@ -278,6 +291,12 @@ else
|
|||
uuu fb: ucmd saveenv
|
||||
fi
|
||||
|
||||
# Set the rootfstype if squashfs
|
||||
if [ "${SQUASHFS}" = true ]; then
|
||||
uuu fb: ucmd setenv rootfstype squashfs
|
||||
uuu fb: ucmd saveenv
|
||||
fi
|
||||
|
||||
# Reset the target
|
||||
uuu fb: ucmd bootcount reset
|
||||
uuu fb: acmd reset
|
||||
|
|
|
|||
|
|
@ -37,9 +37,6 @@ else
|
|||
# We are booting from the NAND using 'recovery'.
|
||||
setenv boot_initrd true
|
||||
setenv initrd_file uramdisk-recovery.img
|
||||
else
|
||||
# We are booting from the SD card.
|
||||
setenv mmcroot /dev/mmcblk${mmcbootdev}p2
|
||||
fi
|
||||
setenv rootfsvol rootfs
|
||||
fi
|
||||
|
|
@ -64,7 +61,11 @@ if test "${module_has_wifi}" = "1" && test -z "${disable_wifi}"; then
|
|||
setenv overlays _ov_som_wifi_ccmp13.dtbo,${overlays}
|
||||
fi
|
||||
|
||||
dboot linux nand ${mtdbootpart}
|
||||
if test "${boot_device}" = "mmc"; then
|
||||
dboot linux mmc
|
||||
else
|
||||
dboot linux nand ${mtdbootpart}
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -37,9 +37,6 @@ else
|
|||
# We are booting from the NAND using 'recovery'.
|
||||
setenv boot_initrd true
|
||||
setenv initrd_file uramdisk-recovery.img
|
||||
else
|
||||
# We are booting from the SD card.
|
||||
setenv mmcroot /dev/mmcblk${mmcbootdev}p2
|
||||
fi
|
||||
setenv rootfsvol rootfs
|
||||
fi
|
||||
|
|
@ -75,7 +72,11 @@ if test -z "${board_version}" || test "${board_version}" -eq "1"; then
|
|||
setenv overlays _ov_board_v1_ccmp15-dvk.dtbo,${overlays}
|
||||
fi
|
||||
|
||||
dboot linux nand ${mtdbootpart}
|
||||
if test "${boot_device}" = "mmc"; then
|
||||
dboot linux mmc
|
||||
else
|
||||
dboot linux nand ${mtdbootpart}
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright (C) 2018-2021 Digi International
|
||||
# Copyright (C) 2018-2023 Digi International
|
||||
|
||||
require u-boot-dey.inc
|
||||
|
||||
|
|
|
|||
|
|
@ -15,12 +15,14 @@ FSTYPES_WHITELIST = " \
|
|||
recovery.ubifs \
|
||||
recovery.vfat \
|
||||
ubifs \
|
||||
squashfs \
|
||||
"
|
||||
|
||||
FSTYPES_WHITELIST:ccmp1 = " \
|
||||
boot.ubifs \
|
||||
recovery.ubifs \
|
||||
ubifs \
|
||||
squashfs \
|
||||
"
|
||||
|
||||
HAS_USB_DRIVER = "false"
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ check_gen_pki_tree() {
|
|||
|
||||
copy_public_key() {
|
||||
if [ "${DEY_SOC_VENDOR}" = "NXP" ]; then
|
||||
KEY_INDEX="$(expr $TRUSTFENCE_KEY_INDEX + 1)"
|
||||
KEY_INDEX="$(expr ${TRUSTFENCE_KEY_INDEX} + 1)"
|
||||
PUBLIC_KEY="${TRUSTFENCE_SIGN_KEYS_PATH}/crts/key${KEY_INDEX}.pub"
|
||||
# The new hab/ahab_pki_tree.sh script extracts the public keys after the PKI
|
||||
# generation and leaves them in the crts/ folder. However, the PKI tree may
|
||||
|
|
|
|||
|
|
@ -77,3 +77,7 @@ PACKAGECONFIG:append:class-target:pn-qtbase = " examples"
|
|||
PACKAGECONFIG:append:class-target:pn-qtdeclarative = " examples"
|
||||
PACKAGECONFIG:append:class-target:pn-qtquick3d = " examples"
|
||||
PACKAGECONFIG:append:class-target:pn-qtwebengine = " examples"
|
||||
# libarchive is using "zstd" in its package config.
|
||||
# This is not used in the swupdate that is the only consumer of the libarchive package.
|
||||
# Remove it to reduce the size of the recovery image.
|
||||
PACKAGECONFIG:remove:class-target:pn-libarchive = " zstd"
|
||||
|
|
|
|||
|
|
@ -173,7 +173,11 @@ update_emmc() {
|
|||
echo ""
|
||||
|
||||
# Execute the update.
|
||||
if [ -f "${PUBLIC_KEY}" ]; then
|
||||
swupdate ${VERBOSE} -i "${UPDATE_FILE}" -e "${IMAGE_SET}" -k "${PUBLIC_KEY}"
|
||||
else
|
||||
swupdate ${VERBOSE} -i "${UPDATE_FILE}" -e "${IMAGE_SET}"
|
||||
fi
|
||||
}
|
||||
|
||||
update_nand() {
|
||||
|
|
|
|||
|
|
@ -21,10 +21,10 @@ DEFAULT_SPI = 0,0
|
|||
|
||||
[PWM]
|
||||
|
||||
# PWM2 on MikroBus connector J31 (pin 1). Set overlay _ov_board_mikroe-pwm_ccmp13-dvk.dtbo
|
||||
# PWM2 on MikroBus connector J31 (pin 1). Set overlay _ov_board_pwm8_ccmp13-dvk.dtbo
|
||||
DEFAULT_PWM = 0,0
|
||||
|
||||
[ADC]
|
||||
|
||||
# ADC0_IN2 on MikroBus connector J31 (pin 1).
|
||||
DEFAULT_ADC = 0,2
|
||||
DEFAULT_ADC = 0,2
|
||||
|
|
|
|||
|
|
@ -27,4 +27,4 @@ DEFAULT_PWM = 4,0
|
|||
[ADC]
|
||||
|
||||
# ANA0 on GPIO board connector J41 (pin 4)
|
||||
DEFAULT_ADC = 1,0
|
||||
DEFAULT_ADC = 2,0
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
type = "rdiff_image";
|
||||
filename = "@@SWUPDATE_RDIFF_ROOTFS_DELTA_FILE_NAME@@";
|
||||
device = "##DEV##";
|
||||
sha256 = "$swupdate_get_sha256(@@SWUPDATE_RDIFF_ROOTFS_DELTA_FILE_NAME@@)";
|
||||
properties: {
|
||||
rdiffbase = ["/dev/rdiff_source_rootfs"];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
type = "ubivol_rdiff_image";
|
||||
filename = "@@SWUPDATE_RDIFF_ROOTFS_DELTA_FILE_NAME@@";
|
||||
volume = "##DEV##";
|
||||
sha256 = "$swupdate_get_sha256(@@SWUPDATE_RDIFF_ROOTFS_DELTA_FILE_NAME@@)";
|
||||
properties: {
|
||||
rdiffbase = ["/dev/rdiff_source_rootfs"];
|
||||
rdiffnewsize = "$swupdate_get_size(@@DEPLOY_DIR_IMAGE@@/@@IMG_NAME@@-@@MACHINE@@.squashfs)";
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ software =
|
|||
type = "archive";
|
||||
compressed = "zlib";
|
||||
path = "/";
|
||||
sha256 = "$swupdate_get_sha256(@@SWUPDATE_FILES_TARGZ_FILE_NAME@@)";
|
||||
}
|
||||
);
|
||||
scripts: (
|
||||
|
|
@ -37,6 +38,7 @@ software =
|
|||
type = "archive";
|
||||
compressed = "zlib";
|
||||
path = "/system/";
|
||||
sha256 = "$swupdate_get_sha256(@@SWUPDATE_FILES_TARGZ_FILE_NAME@@)";
|
||||
}
|
||||
);
|
||||
scripts: (
|
||||
|
|
|
|||
|
|
@ -1,10 +1,123 @@
|
|||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# SWUpdate Configuration
|
||||
#
|
||||
|
||||
#
|
||||
# SWUpdate Settings
|
||||
#
|
||||
|
||||
#
|
||||
# General Configuration
|
||||
#
|
||||
# CONFIG_CURL is not set
|
||||
# CONFIG_CURL_SSL is not set
|
||||
# CONFIG_DISKFORMAT is not set
|
||||
# CONFIG_SYSTEMD is not set
|
||||
CONFIG_DEFAULT_CONFIG_FILE="/etc/swupdate.cfg"
|
||||
CONFIG_SCRIPTS=y
|
||||
# CONFIG_HW_COMPATIBILITY is not set
|
||||
CONFIG_SW_VERSIONS_FILE="/etc/sw-versions"
|
||||
|
||||
#
|
||||
# Socket Paths
|
||||
#
|
||||
CONFIG_SOCKET_CTRL_PATH=""
|
||||
CONFIG_SOCKET_PROGRESS_PATH=""
|
||||
# CONFIG_MTD is not set
|
||||
# CONFIG_LUA is not set
|
||||
# CONFIG_FEATURE_SYSLOG is not set
|
||||
CONFIG_DIGI_ON_THE_FLY="n"
|
||||
|
||||
#
|
||||
# Build Options
|
||||
#
|
||||
CONFIG_CROSS_COMPILE=""
|
||||
CONFIG_SYSROOT=""
|
||||
CONFIG_EXTRA_CFLAGS=""
|
||||
CONFIG_EXTRA_LDFLAGS=""
|
||||
CONFIG_EXTRA_LDLIBS=""
|
||||
|
||||
#
|
||||
# Debugging Options
|
||||
#
|
||||
# CONFIG_DEBUG is not set
|
||||
# CONFIG_WERROR is not set
|
||||
# CONFIG_NOCLEANUP is not set
|
||||
|
||||
#
|
||||
# Bootloader support
|
||||
#
|
||||
|
||||
#
|
||||
# Bootloader Interfaces
|
||||
#
|
||||
# CONFIG_BOOTLOADER_NONE is not set
|
||||
# CONFIG_BOOTLOADER_EBG is not set
|
||||
CONFIG_UBOOT=y
|
||||
CONFIG_UBOOT_FWENV="/etc/fw_env.config"
|
||||
CONFIG_UBOOT_DEFAULTENV="/etc/u-boot-initial-env"
|
||||
# CONFIG_BOOTLOADER_GRUB is not set
|
||||
CONFIG_BOOTLOADER_DEFAULT_UBOOT=y
|
||||
# CONFIG_BOOTLOADER_STATIC_LINKED is not set
|
||||
CONFIG_UPDATE_STATE_CHOICE_BOOTLOADER=y
|
||||
CONFIG_UPDATE_STATE_BOOTLOADER="ustate"
|
||||
|
||||
#
|
||||
# Interfaces
|
||||
#
|
||||
# CONFIG_DOWNLOAD is not set
|
||||
# CONFIG_SURICATTA is not set
|
||||
# CONFIG_WEBSERVER is not set
|
||||
|
||||
#
|
||||
# Security
|
||||
#
|
||||
# CONFIG_SSL_IMPL_NONE is not set
|
||||
CONFIG_SSL_IMPL_OPENSSL=y
|
||||
# CONFIG_SSL_IMPL_WOLFSSL is not set
|
||||
# CONFIG_SSL_IMPL_MBEDTLS is not set
|
||||
CONFIG_HASH_VERIFY=y
|
||||
# CONFIG_SIGNED_IMAGES is not set
|
||||
# CONFIG_ENCRYPTED_IMAGES is not set
|
||||
|
||||
#
|
||||
# Compressors (zlib always on)
|
||||
#
|
||||
CONFIG_GUNZIP=y
|
||||
# CONFIG_ZSTD is not set
|
||||
|
||||
#
|
||||
# Parsers
|
||||
#
|
||||
|
||||
#
|
||||
# Parser Features
|
||||
#
|
||||
CONFIG_LIBCONFIG=y
|
||||
CONFIG_PARSERROOT=""
|
||||
# CONFIG_JSON is not set
|
||||
# CONFIG_SETSWDESCRIPTION is not set
|
||||
|
||||
#
|
||||
# Handlers
|
||||
#
|
||||
|
||||
#
|
||||
# Image Handlers
|
||||
#
|
||||
CONFIG_ARCHIVE=y
|
||||
CONFIG_LOCALE=y
|
||||
CONFIG_BOOTLOADERHANDLER=y
|
||||
# CONFIG_COPY is not set
|
||||
# CONFIG_DELTA is not set
|
||||
# CONFIG_DISKPART is not set
|
||||
# CONFIG_DISKFORMAT_HANDLER is not set
|
||||
CONFIG_RAW=y
|
||||
CONFIG_RDIFFHANDLER=y
|
||||
# CONFIG_READBACKHANDLER is not set
|
||||
# CONFIG_REMOTE_HANDLER is not set
|
||||
CONFIG_SHELLSCRIPTHANDLER=y
|
||||
# CONFIG_SWUFORWARDER_HANDLER is not set
|
||||
# CONFIG_UCFWHANDLER is not set
|
||||
# CONFIG_UNIQUEUUID is not set
|
||||
|
|
|
|||
Loading…
Reference in New Issue