Attention: this article is provided as-is. For new Toradex SoMs, the preferred method for flashing is with Toradex Easy Installer.
Currently the following methods/mediums are supported for flashing or updating the image on the modules.
The following table shows flashing mediums which are applicable for the respective modules.
Module | SD Card | USB Storage | Ethernet | DFU | USB |
---|---|---|---|---|---|
Colibri T20 | Not Supported | Not Supported | Not Supported | Not Supported | Supported |
Colibri T30 | Supported | Not Available by Default | Supported | Not Supported | Not Supported |
Apalis T30 | Supported | Not Available by Default | Supported | Not Supported | Not Supported |
Colibri VFxx | Supported | Supported | Supported | Supported | Not Supported |
Colibri i.MX6 | Supported | Not Available by Default | Supported | Not Supported | Not Supported |
Apalis i.MX6 | Supported | Not Available by Default | Supported | Not Supported | Not Supported |
Initial Preparation:
EvalBoard V3.1a
Iris V1.1a
Initial Preparation:
EvalBoard V3.1a:
Iris V1.1a:
Please note that for this method to work, a working tftp setup is required. You may copy these required files by running ./update.sh -o /srv/tftp, where /srv/tftp is the directory from where the files will be served by tftp server. The serverip and ipaddr u-boot environment variables need to be correctly set as per one's TFTP setup.
From the uboot prompt execute the following commands
usb start tftp ${loadaddr} flash_eth.img && source ${loadaddr} run update
Note: In case you are updating from older images, please follow the commands in the above section as applicable.
Note: the BSP 2.8 is supported by Toradex Easy Installer. You may consider using it instead of the old flashing methods.
Initial Preparation:
EvalBoard V1.0a:
Ixora V1.0a:
Please note that for this method to work, a working tftp setup is required. You may copy these required files by running ./update.sh -o /srv/tftp, where /srv/tftp is the directory from where the files will be served by tftp server. The serverip and ipaddr u-boot environment variables need to be correctly set as per one's TFTP setup.
From the uboot prompt execute the following commands
tftp ${loadaddr} flash_eth.img && source ${loadaddr} run update
Note: In case you are updating from older images, please follow the commands in the above section as applicable.
Initial Preparation:
EvalBoard V3.1a:
Iris V1.1a:
Note: For old u-boot versions, execute 'mmc part 0 ; fatload mmc 0:1 $loadaddr flash_mmc.img ;source $loadaddr'. USB is not supported on old u-boot versions viz. images prior to v2.3 Beta 5.
Device Firmware Upgrade (DFU) facility is available for the Vybrids. This utilises the USB client functionality of the Vybrids and is available starting with v2.3 Beta5 images. On the host PC, dfu-util and mtd-utils package should be installed.
Evaluation Board v3.1a:
Connect a USB cable with standard B plug end to connector X29 on evaluation board and the standard A plug end to host PC.
Iris Carrier Board:
Connect a USB cable with micro-B plug end to X12 and standard A plug end to host PC.
Download and extract Colibri_VF_LinuxImageVx.yz.tar.bz2 package with root permissions. Go to the extracted image archive directory and run the following command
sudo vf_flash/mkfs.ubifs --space-fixup -c 8112 -e 124KiB -m 2KiB -o colibri-vf_bin/ubidfu.img -r rootfs/ -v
In the colibri-vf_bin directory of our release images or OpenEmbedded generated images, create a ubinize.cfg file as follows:
[ubifs] mode=ubi image=ubidfu.img vol_id=0 vol_size=200MiB vol_type=dynamic vol_name=rootfs vol_flags=autoresize
Create a ubi.img file by running
sudo ubinize -o colibri-vf_bin/ubi.img -m 2048 -p 128KiB colibri-vf_bin/ubinize.cfg
Go to the u-boot prompt at the serial debug console.
To update rootfs
From u-boot run
nand erase.part ubi dfu 0 nand 4
After executing the dfu command at the u-boot prompt, on host PC lsusb should have an output like below with product and vendor ID's as shown:
Bus 001 Device 006: ID 1b67:0017
From the host PC run
sudo dfu-util -D colibri-vf_bin/ubi.img -a ubi
To update u-boot
From u-boot run
nand erase.part u-boot dfu 0 nand 2
From the host PC run
sudo dfu-util -D colibri-vf_bin/u-boot-nand.imx -a u-boot
Sample Output
On u-boot prompt:
Colibri VFxx # nand erase.part ubi NAND erase.part: device 0 offset 0x200000, size 0x3fe00000 Skipping bad block at 0x13540000 Skipping bad block at 0x16aa0000 Skipping bad block at 0x1c4c0000 Skipping bad block at 0x33780000 Skipping bad block at 0x3ff80000 Skipping bad block at 0x3ffa0000 Skipping bad block at 0x3ffc0000 Skipping bad block at 0x3ffe0000 OK Colibri VFxx # dfu 0 nand 4 using id 'nand0,0' using id 'nand0,1' using id 'nand0,3' ##########################################################################################################DOWNLOAD ... OK Ctrl+C to exit ... Colibri VFxx #
On host PC:
[host@hostpc-Arch Colibri_VF_LinuxImageV2.3]$ sudo dfu-util -D colibri-vf_bin/ubi.img -a ubi [sudo] password for host: dfu-util 0.8 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2014 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to dfu-util@lists.gnumonks.org dfu-util: Invalid DFU suffix signature dfu-util: A valid DFU suffix will be required in a future dfu-util release!!! Opening DFU capable USB device... ID 1b67:0017 Run-time device DFU version 0110 Claiming USB DFU Interface... Setting Alternate Setting #2 ... Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing DFU mode device DFU version 0110 Device returned transfer size 4096 Copying data from PC to DFU device Download [=========================] 100% 110624768 bytes Download done. state(7) = dfuMANIFEST, status(0) = No error condition is present state(2) = dfuIDLE, status(0) = No error condition is present Done!
Please note that for this method to work, a working tftp setup is required. You may copy these required files by running ./update.sh -o /srv/tftp, where /srv/tftp is the directory from where the files will be served by tftp server. The serverip and ipaddr u-boot environment variables need to be correctly set as per one's TFTP setup.
From the uboot prompt execute the following commands
tftp ${loadaddr} flash_eth.img && source ${loadaddr} run update
Attention: The preferred method for installing the active LTS BSPs is with Toradex Easy Installer.
Initial Preparation:
EvalBoard V3.1a:
Iris V1.1a:
Please note that for this method to work, a working tftp setup is required. You may copy these required files by running ./update.sh -o /srv/tftp, where /srv/tftp is the directory from where the files will be served by tftp server. In the /srv/tftp directory, run split -a 1 -b expr 64 \* 1024 \* 1024
-d root.ext3 root.ext3-. The serverip and ipaddr u-boot environment variables need to be correctly set as per one's TFTP setup.
From the uboot prompt execute the following commands
tftp ${loadaddr} flash_eth.img && source ${loadaddr} run update
Attention: The preferred method for installing the active LTS BSPs is with Toradex Easy Installer.
Note: Recompile U-Boot with apalis_imx6q2g config for Apalis iMX6Q 2GB IT V1.1a
Initial Preparation:
EvalBoard V1.0a:
Ixora V1.0a:
Please note that for this method to work, a working tftp setup is required. You may copy these required files by running ./update.sh -o /srv/tftp, where /srv/tftp is the directory from where the files will be served by tftp server. In the /srv/tftp directory, run split -a 1 -b expr 256 \* 1024 \* 1024
-d root.ext3 root.ext3-. The serverip and ipaddr u-boot environment variables need to be correctly set as per one's TFTP setup.
From the uboot prompt execute the following commands
tftp ${loadaddr} flash_eth.img && source ${loadaddr} run update