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.11 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 micro USB 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 0 -
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: -a <atf-filename> Arm-trusted-firmware filename. Auto-determined by variant if not provided. -b Activate bootcount mechanism (3 boot attempts). -d Install firmware on dualboot partitions (system A and system B). (Implies -b). -f <fip-filename> FIP filename. Auto-determined by variant if not provided. -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 'core-image-base' if not provided. -n No wait. Skips 10 seconds delay to stop script. -
To program the default image files (core-image-base):
$ ./install_linux_fw_uuu.shIf your SOM has a U-Boot v2021.10-r3 or older, the install process programs the new U-Boot but fails immediately after booting it. This is due to the reworked NAND partition layout on U-Boots newer than v2021.10-r3. Press Ctrl+C on your host to cancel the script, run
fastboot 0again on the target, and retry.For more information, check Storage layout
-
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.
-
Check the U-Boot version on the console boot banner. If the version is
dub-2021.10-r2.1or older, manually update the fsbl1 and fip-a partitions first. You can skip this step if you have a newer U-Boot version:=> update fsbl1 mmc 0 tf-a-ccmp13-dvk-<ram_size>-optee-nand.stm32 => update fip-a mmc 0 fip-ccmp13-dvk-<ram_size>-optee-nand.bin => resetAfter the device reboots, press any key in the serial terminal to stop the auto-boot process.
-
To install the default firmware images (core-image-base) into the internal NAND, 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_sdIf your SOM has a U-Boot v2021.10-r3 or older, the install process programs the new U-Boot but fails immediately after booting it. This is due to the reworked NAND partition layout on U-Boots newer than v2021.10-r3. Execute
run install_linux_fw_sdagain on the target to retry the command with the new U-Boot.For more information, check Storage layout
-
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 (core-image-base) into the internal NAND, 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_usbIf your SOM has a U-Boot v2021.10-r3 or older, the install process programs the new U-Boot but fails immediately after booting it. This is due to the reworked NAND partition layout on U-Boots newer than v2021.10-r3. Execute
run install_linux_fw_usbagain on the target to retry the command with the new U-Boot.For more information, check Storage layout
-
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