Digi Embedded Yocto generates installer scripts to facilitate the deployment of firmware images onto the device.
|
The Digi Embedded Yocto installers:
The installers are designed for a clean installation. See Update firmware for other methods to updating the system without changing the partition table or removing user data. If the data partition is erased and the device was provisioned in Remote Manager, the target won’t be able to connect to Remote Manager until you reset the certificate. See Reset the device’s client-side certificate to know how to reset the client-side certificate from Remote Manager interface. |
There are multiple methods of programming the firmware to the target:
-
Use the Universal Update Utility (UUU) through a USB connection to your host computer.
-
Use a microSD card to install the firmware directly in the target.
-
Use USB mass storage to install the firmware directly in the target.
Program the firmware using UUU
Fastboot is a protocol for communication between your device and a computer. It allows you to modify file system images over a USB connection, which is a quick way to update firmware during development. Fastboot requires the USB interface to work as 'device'.
Although it was originally developed for Android images, its implementation on the NXP UUU (Universal Update Utility) tool extends the functionality to any file type.
| If you are running Windows Subsystem for Linux (WSL), you may need to perform additional configurations to program the firmware using UUU. Refer to https://learn.microsoft.com/en-us/windows/wsl/connect-usb for more information. |
-
Decompress the zip file in a directory of your choice.
-
Download the latest Universal Update Utility (UUU), a software tool from NXP.
UUU version should be v1.5.201 or higher. -
Place the
uuuexecutable in a directory in your PATH, such as/usr/bin. -
Install
udevrules to allow any user to runuuuto access the USB port:$ sudo sh -c "uuu -udev >> /etc/udev/rules.d/70-uuu.rules" $ sudo udevadm control --reload -
In addition to the console cable, connect a USB type-C cable to your development PC and the other end to the device’s {fastboot-usb-connector} connector.
-
On the target, in U-Boot, execute the following command:
=> fastboot 0In U-Boot versions prior to
dub-2024.04-r5.2, the fastboot command might fail. If this occurs, use one of the other install methods. -
On your host computer, change to the directory where you extracted the ZIP file:
$ cd <zip-folder> -
Run the
install_linux_fw_uuu.shscript with-hparameter to check the syntax:$ ./install_linux_fw_uuu.sh -h ############################################################ # Linux firmware install through USB OTG # ############################################################ Usage: ./install_linux_fw_uuu.sh [options] Options: -b Activate bootcount mechanism (3 boot attempts). -d Install firmware on dualboot partitions (system A and system B). (Implies -b). -h Show this help. -i <dey-image-name> Image name that prefixes the image filenames, such as 'dey-image-qt', 'dey-image-webkit', 'core-image-base'... Defaults to 'dey-image-chromium' if not provided. -k <dek-filename> Update includes dek file. (implies -t)." -n No wait. Skips 10 seconds delay to stop script. -u <u-boot-filename> U-Boot filename. Auto-determined by variant if not provided. -U Update redundant bootloader partition. -
To program the default image files (dey-image-chromium):
$ ./install_linux_fw_uuu.sh -
Once the firmware is installed, the device boots automatically. The default username is root with no password.
Program the firmware using uSD card
-
Decompress the ZIP file.
-
Place the decompressed files in the root of a FAT-formatted microSD card and insert it in the microSD socket of the board.
-
To install the default firmware images (dey-image-chromium) into the internal eMMC, run the following command:
=> run install_linux_fw_sdTo program other images, set the variable
image-nameto the DEY image name (such asdey-image-webkitorcore-image-base) before running the script.=> setenv image-name core-image-base => run install_linux_fw_sd -
Once the firmware is installed, the device boots automatically. The default username is root with no password.
During installation, error messages appear when the installation process attempts to override MAC addresses. These messages are expected.
## Resetting to default environment oldval: 00:40:9D:7D:17:9A defval: 00:04:f3:ff:ff:fa ## Error: Can't overwrite "ethaddr" himport_r: can't insert "ethaddr=00:04:f3:ff:ff:fa" into hash table oldval: 00:40:9D:7D:17:9B defval: 00:04:f3:ff:ff:fb ## Error: Can't overwrite "eth1addr" himport_r: can't insert "eth1addr=00:04:f3:ff:ff:fb" into hash table oldval: 00:40:9D:7D:17:9C defval: 00:04:f3:ff:ff:fc ## Error: Can't overwrite "wlanaddr" himport_r: can't insert "wlanaddr=00:04:f3:ff:ff:fc" into hash table oldval: 00:40:9D:7D:17:9D defval: 00:04:f3:ff:ff:fd ## Error: Can't overwrite "btaddr" himport_r: can't insert "btaddr=00:04:f3:ff:ff:fd" into hash table
Program the firmware using USB mass storage
Follow these steps to install Yocto in the device:
-
Decompress the ZIP file.
-
Place the decompressed files in the root of a FAT-formatted USB mass storage and insert it in the USB host connector of the board.
-
To install the default firmware images (dey-image-chromium) into the internal eMMC, run the following command:
=> run install_linux_fw_usbTo program other images, set the variable
image-nameto the DEY image name (such asdey-image-webkitorcore-image-base) before running the script.=> setenv image-name core-image-base => run install_linux_fw_usb -
Once the firmware is installed, the device boots automatically. The default username is root with no password.
During installation, error messages appear when the installation process attempts to override MAC addresses. These messages are expected.
## Resetting to default environment oldval: 00:40:9D:7D:17:9A defval: 00:04:f3:ff:ff:fa ## Error: Can't overwrite "ethaddr" himport_r: can't insert "ethaddr=00:04:f3:ff:ff:fa" into hash table oldval: 00:40:9D:7D:17:9B defval: 00:04:f3:ff:ff:fb ## Error: Can't overwrite "eth1addr" himport_r: can't insert "eth1addr=00:04:f3:ff:ff:fb" into hash table oldval: 00:40:9D:7D:17:9C defval: 00:04:f3:ff:ff:fc ## Error: Can't overwrite "wlanaddr" himport_r: can't insert "wlanaddr=00:04:f3:ff:ff:fc" into hash table oldval: 00:40:9D:7D:17:9D defval: 00:04:f3:ff:ff:fd ## Error: Can't overwrite "btaddr" himport_r: can't insert "btaddr=00:04:f3:ff:ff:fd" into hash table