Using OS Image tftp update with BSP 5.0

Hello,

We have a number of Colibri IMX6 based products in active use and would like to field update our image.

Is it possible to make a TFTP based update with BSP 5.0 linux image?
Our previous image was BSP 2.8 based. We were able to make TFTP based OS Image updates without any problems.

For BSP 5.0, it seems we need to use Toradex easy installer. We can’t do that with the modules in our product. Putting the modules into recovery mode operation would be very costly and error prone.

Looking forward to your reply
Best Regards
Rifo

Hi @rifo !

It is possible to use TFTP and boot from network: Boot from a TFTP/NFS Server | Toradex Developer Center

Does this help you?

Best regards,
Henrique

Hi,

Is it possible to change TFTP/NFS boot scenerio for updating our image?
Is it possible to take all files needed to boot from source to Colibri iMX6 with the using TFTP and boot with those files without NFS?

Best regards,
ogusis01

@ogusis01

It should be easy.

  • sudo unpack your *.tar.bz2 archive of your 2.8 BSP
  • sudo rm -r rootfs/* or similar to remove 2.8 BSP rootfs files
  • sudo unpack *.xz rootfs archive of new BSP to rootfs, where you had rootfs for 2.8 BSP
  • replace zImage, u-boot and dtb files in *_bin folder
  • update.sh -o xxx like you used with 2.8 BSP to create upgrade files in your TFTP root or on your USB/SD card

Edward

Hi @ogusis01 !

Although @Edward’s way could work, this is not the recommended way.

Updating an image on the field is a very critical operation. We do not have a stack/workflow for this kind of task out-of-the-box for our BSP.

Not even Toradex Easy Installer is meant to be used as an update tool.

On the other hand, Torizon (and TorizonCore) already has the update stack out-of-the-box to be used.

Maybe you want to check it:

Best regards,
Henrique

Hi Edward, Thanks for the reply.
I’ve done all this but I’m getting an error as below when running update.sh.
“mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows
Script aborted unexpectedly…”
How can i fix it?

Hi @ogusis01,

I don’t have any EMMC Colibri. Just for curiosity I tried it on
Colibri iMX6 (2.8.7 | 2020-06-10) and it worked, with warning, but it didn’t abort. If it chockes on your new rootfs, then perhaps a) you made extra subfolder in rootfs, make sure it has folders like /bin, /etc, and so on. b) script doesn’t find some dtb or some other file. c) script looks for rootfs/etc/issue containing “Colibri.IMX6”. Make sure your new BSP has the same substring in issue. d) try debugging update.sh script

Regards
Edward

Hi again @Edward

I did the checks you said, but unfortunately the output I got when I ran update.sh still didn’t change.

Output of update.sh

Colibri iMX6 rootfs detected

Creating MBR file and do the partitioning
0+0 records in
0+0 records out
0 bytes copied, 9,2787e-05 s, 0,0 kB/s
Model:  (file)
Disk /home/oguzz/Desktop/imageson/Antsis_colibri-imx6_image_app_2.8.4/colibri-imx6_bin/mbr.bin: 7168000s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End       Size      Type     File system  Flags
 1      8192s   40959s    32768s    primary               lba
 2      40960s  7127039s  7086080s  primary


Creating VFAT partition image with the kernel
mkfs.fat 4.1 (2017-01-24)
mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows
Script aborted unexpectedly...

Moreover, when I try to flash the Colibri-iMX6 LXDE-Image 2.8.7 image to my module with TFTP, I get the following output in the u-boot terminal after “run update”.

Loading: #
	 6.1 MiB/s
done
Bytes transferred = 51309 (c86d hex)
51309 bytes written
Using ethernet@2188000 device
TFTP from server 192.168.10.40; our IP address is 192.168.10.39
Filename 'colibri_imx6/root.ext4-100'.
Load address: 0x12100000
Loading: #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #####################
	 10.1 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 40960, count 131072 ... 131072 blocks written: OK
Using ethernet@2188000 device
TFTP from server 192.168.10.40; our IP address is 192.168.10.39
Filename 'colibri_imx6/root.ext4-101'.
Load address: 0x12100000
Loading: #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #####################
	 10.2 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 172032, count 131072 ... 131072 blocks written: OK
Using ethernet@2188000 device
TFTP from server 192.168.10.40; our IP address is 192.168.10.39
Filename 'colibri_imx6/root.ext4-102'.
Load address: 0x12100000
Loading: #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #####################
	 10.2 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 303104, count 131072 ... 131072 blocks written: OK
Using ethernet@2188000 device
TFTP from server 192.168.10.40; our IP address is 192.168.10.39
Filename 'colibri_imx6/root.ext4-103'.
Load address: 0x12100000
Loading: #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #####################
	 10.2 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 434176, count 131072 ... 131072 blocks written: OK
Using ethernet@2188000 device
TFTP from server 192.168.10.40; our IP address is 192.168.10.39
Filename 'colibri_imx6/root.ext4-104'.
Load address: 0x12100000
Loading: #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #####################
	 10.2 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 565248, count 131072 ... 131072 blocks written: OK
Using ethernet@2188000 device
TFTP from server 192.168.10.40; our IP address is 192.168.10.39
Filename 'colibri_imx6/root.ext4-105'.
Load address: 0x12100000
Loading: #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #####################
	 10.2 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 696320, count 131072 ... 131072 blocks written: OK
Using ethernet@2188000 device
TFTP from server 192.168.10.40; our IP address is 192.168.10.39
Filename 'colibri_imx6/root.ext4-106'.
Load address: 0x12100000
Loading: #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #####################
	 10.2 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 827392, count 131072 ... 131072 blocks written: OK
Using ethernet@2188000 device
TFTP from server 192.168.10.40; our IP address is 192.168.10.39
Filename 'colibri_imx6/root.ext4-107'.
Load address: 0x12100000
Loading: #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #####################
	 10.2 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 958464, count 131072 ... 131072 blocks written: OK
Using ethernet@2188000 device
TFTP from server 192.168.10.40; our IP address is 192.168.10.39
Filename 'colibri_imx6/root.ext4-108'.
Load address: 0x12100000
Loading: #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #####################
	 10.2 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 1089536, count 131072 ... 131072 blocks written: OK
Using ethernet@2188000 device
TFTP from server 192.168.10.40; our IP address is 192.168.10.39
Filename 'colibri_imx6/root.ext4-109'.
Load address: 0x12100000
Loading: #################################################################
	 #################################################################
	 ##################
	 10.2 MiB/s
done
Bytes transferred = 24117248 (1700000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 1220608, count 47104 ... 47104 blocks written: OK
resetting ...

Industrial temperature grade DDR3 timings, 64bit bus width.
Trying to boot from MMC1

Industrial temperature grade DDR3 timings, 64bit bus width.

Industrial temperature grade DDR3 timings, 64bit bus width.

Industrial temperature grade DDR3 timings, 64bit bus width.
Trying to boot from MMC1

Industrial temperature grade DDR3 timings, 64bit bus width.

Industrial temperature grade DDR3 timings, 64bit bus width.
Trying to boot from MMC1

Industrial temperature grade DDR3 timings, 64bit bus width.

Have you any idea about solution of these issues?

Regards
ogusis01

Hi @ogusis01 !

I managed to flash a Colibri iMX6DL 512MB IT V1.1A. I based this flashing procedure on the default image from BSP 2.8 that I downloaded from the Flashing Embedded Linux to iMX6 Modules article.

I performed the steps just like listed by @Edward. With this, I have the set of files needed in /srv/tftp. The last step I did like this:

$ update.sh -o /srv/tftp

On the module, during U-Boot, we can try to run the bootcmd_dhcp command, but we get the output below:

Colibri iMX6 # run bootcmd_dhcp
BOOTP broadcast 1
DHCP client bound to address 192.168.10.47 (3 ms)
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'boot.scr.uimg'.
Load address: 0x17000000
Loading: *
TFTP error: 'File not found' (1)
Not retrying...
Colibri iMX6 # 

We need to come up with the boot.scr.uimg that is missing. We can get this by copying the flash_eth.img with the desired name:

$ sudo cp /srv/tftp/flash_eth.img /srv/tftp/boot.scr.uimg

With this, we can successfully run the bootcmd_dhcp command and, subsequently, the update command:

Colibri iMX6 #    run bootcmd_dhcp 
BOOTP broadcast 1
DHCP client bound to address 192.168.10.47 (3 ms)
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'boot.scr.uimg'.
Load address: 0x17000000
Loading: #  0 Bytes
	 144.5 KiB/s
done
Bytes transferred = 444 (1bc hex)
## Executing script at 17000000
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'colibri_imx6/flash_eth.img'.
Load address: 0x12000000
Loading: #  0 Bytes
	 980.5 KiB/s
done
Bytes transferred = 4017 (fb1 hex)
## Executing script at 12000000
enter "run update" to update the entire module
Colibri iMX6 # run update
switch to partitions #1, OK
mmc0(part 1) is current device

MMC read: dev # 0, block # 138, count 1 ... 1 blocks read: OK
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'colibri_imx6/u-boot.img'.
Load address: 0x12100000
Loading: #################################################################
	 #######  0 Bytes
	 1.9 MiB/s
done
Bytes transferred = 363776 (58d00 hex)
switch to partitions #1, OK
mmc0(part 1) is current device

MMC write: dev # 0, block # 138, count 711 ... 711 blocks written: OK
Fuse 0, 5:     5072
Fast boot mode already fused, no need to fuse
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'colibri_imx6/mbr.bin'.
Load address: 0x12100000
Loading: #  0 Bytes
	 166 KiB/s
done
Bytes transferred = 512 (200 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 0, count 1 ... 1 blocks written: OK
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'colibri_imx6/boot.vfat'.
Load address: 0x12100000
Loading: #################################################################
...
	 ###########################  0 Bytes
	 4.8 MiB/s
done
Bytes transferred = 16777216 (1000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 8192, count 32768 ... 32768 blocks written: OK
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'colibri_imx6/zImage'.
Load address: 0x12100000
Loading: #################################################################
...
	 ###########################################  0 Bytes
	 4.3 MiB/s
done
Bytes transferred = 5208144 (4f7850 hex)
writing zImage
5208144 bytes written
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'colibri_imx6/imx6dl-colibri-eval-v3.dtb'.
Load address: 0x12100000
Loading: ##########  0 Bytes
	 1.6 MiB/s
done
Bytes transferred = 50562 (c582 hex)
writing imx6dl-colibri-eval-v3.dtb
50562 bytes written
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'colibri_imx6/root.ext4-100'.
Load address: 0x12100000
Loading: #################################################################
...
	 #######################################################  0 Bytes
	 4.7 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 40960, count 131072 ... 131072 blocks written: OK
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'colibri_imx6/root.ext4-101'.
Load address: 0x12100000
Loading: #################################################################
...
	 #######################################################  0 Bytes
	 4.8 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 172032, count 131072 ... 131072 blocks written: OK
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'colibri_imx6/root.ext4-102'.
Load address: 0x12100000
Loading: #################################################################
...
	 #######################################################  0 Bytes
	 4.8 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 303104, count 131072 ... 131072 blocks written: OK
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'colibri_imx6/root.ext4-103'.
Load address: 0x12100000
Loading: #################################################################
...
	 #######################################################  0 Bytes
	 4.6 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 434176, count 131072 ... 131072 blocks written: OK
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'colibri_imx6/root.ext4-104'.
Load address: 0x12100000
Loading: #################################################################
...
	 #######################################################  0 Bytes
	 4.8 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 565248, count 131072 ... 131072 blocks written: OK
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'colibri_imx6/root.ext4-105'.
Load address: 0x12100000
Loading: #################################################################
...
	 #######################################################  0 Bytes
	 4.8 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 696320, count 131072 ... 131072 blocks written: OK
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'colibri_imx6/root.ext4-106'.
Load address: 0x12100000
Loading: #################################################################
...
	 #######################################################  0 Bytes
	 4.8 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 827392, count 131072 ... 131072 blocks written: OK
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'colibri_imx6/root.ext4-107'.
Load address: 0x12100000
Loading: #################################################################
...
	 #######################################################  0 Bytes
	 4.8 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 958464, count 131072 ... 131072 blocks written: OK
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'colibri_imx6/root.ext4-108'.
Load address: 0x12100000
Loading: #################################################################
...
	 #######################################################  0 Bytes
	 4.8 MiB/s
done
Bytes transferred = 67108864 (4000000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 1089536, count 131072 ... 131072 blocks written: OK
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.47
Filename 'colibri_imx6/root.ext4-109'.
Load address: 0x12100000
Loading: #################################################################
...
	 ##################################  0 Bytes
	 3.8 MiB/s
done
Bytes transferred = 10485760 (a00000 hex)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 1220608, count 20480 ... 20480 blocks written: OK
resetting ...


U-Boot 2016.11-2.8.7+g5c2d46b325 (Jun 10 2020 - 16:04:24 +0000)

CPU:   Freescale i.MX6DL rev1.4 at 792 MHz
Reset cause: WDOG
I2C:   ready
DRAM:  512 MiB
PMIC:  device id: 0x10, revision id: 0x21, programmed
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
auto-detected panel vga-rgb
Display: vga-rgb (640x480)
Error: no valid bmp image at 12000000
In:    serial
Out:   serial
Err:   serial
Model: Toradex Colibri iMX6 DualLite 512MB IT V1.1A, Serial# 10672468
Net:   using PHY at 0
FEC [PRIME]
Hit any key to stop autoboot:  0 
Booting from internal eMMC chip...
reading imx6dl-colibri-eval-v3.dtb
50562 bytes read in 18 ms (2.7 MiB/s)
reading zImage
5208144 bytes read in 156 ms (31.8 MiB/s)
## Flattened Device Tree blob at 12100000
   Booting using the fdt blob at 0x12100000
   Loading Device Tree to 1fff0000, end 1ffff581 ... OK

After loading, the kernel started and showed my customized banner and the resizing of the rootfs:


Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.9.220-2.8.7+g57229263ff65 (oe-user@oe-host) (gcc version 7.3.0 (GCC) ) #1 SMP Wed Jun 10 16:02:02 UTC 2020
...
...
[  OK  ] Started Update UTMP about System Runlevel Changes.
[   11.946827] mxc_sdc_fb fb@0: 640x480 h_sync,r,l: 64,16,80  v_sync,l,u: 4,3,13 pixclock=23750000 Hz
[   12.007957] mxc_sdc_fb fb@0: 640x480 h_sync,r,l: 64,16,80  v_sync,l,u: 4,3,13 pixclock=23750000 Hz
[   12.067334] mxc_sdc_fb fb@0: 640x480 h_sync,r,l: 64,16,80  v_sync,l,u: 4,3,13 pixclock=23750000 Hz
[   12.129972] mxc_sdc_fb fb@0: 640x480 h_sync,r,l: 64,16,80  v_sync,l,u: 4,3,13 pixclock=23750000 Hz
[   12.762502] mxc_sdc_fb fb@0: 640x480 h_sync,r,l: 64,16,80  v_sync,l,u: 4,3,13 pixclock=23750000 Hz

  ___  ___  ___  _      ___  
 / __|| _ \|_ _|| |    / _ \ 
| (_ ||   / | | | |__ | (_) |
 \___||_|_\|___||____| \___/ 

The Angstrom Distribution colibri-imx6 ttymxc0

Angstrom v2017.12 - Kernel 

Colibri-iMX6_LXDE-Image 2.8b7. 20200610

colibri-imx6 login: [   13.033931] fec 2188000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[   13.041799] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   14.172320] EXT4-fs (mmcblk0p2): resizing filesystem from 150016 t

Let us know if this helps you.

Best regards,

Hi @henrique.tx
I’ve listed all the steps I followed below. Considering that the images we use are the same, there must be a problem with the steps I followed.

Rootfs

1)sudo rm -r rootfs/*
2)sudo cp Reference-Multimedia-Image-colibri.imx6.tar.xz /Colibri-iMX6_LXDE-Image_2.8.7/rootfs (while in Reference-Image folder.)
3)sudo tar xvf /Colibri-iMX6_LXDE-Image_2.8.7/rootfs/Reference-Multimedia-Image-colibri.imx6.tar.xz
4)sudo rm /rootfs/Reference-Multimedia-Image-colibri.imx6.tar.xz

bin folder

  1. sudo rm zImage
  2. sudo rm u-boot.img
  3. sudo rm “dtb files”
  4. I copied the same files that I deleted in the bin folder from the 5.0 image with the cp command.

I’m still getting same error.

Best regards.

I don’t know what you checked and what you now. I reproduced the same unpack replace repack steps with my rootfs files for other Colibri flavor. I didn’t replace dtb files and u-boot, just rootfs and then modified rootfs/issue to contain required “Colibri.iMX6” string, which is required by your update.sh. No problems. One thing missed is perhaps requirement to run update.sh from folder with update.sh, since it uses relative path to rootfs. Here exact steps to reproduce. Starting from arbitrary folder with *.tar.bz2 in it:

# unpack
sudo tar xvf Colibri-iMX6_LXDE-Image_2.8b7.-20200610.tar.bz2
# remove old root files, Please udpate dtb, kernel and U-Boot later
sudo rm -r Colibri-iMX6_LXDE-Image_2.8.7/rootfs/*
# copy in new rootfs files from BSP5. You need to have them 
#unpacked with root rights, replace rootfs_source_folder with yours
sudo cp -ra rootfs_source_folder/*  Colibri-iMX6_LXDE-Image_2.8.7/rootfs/
# new folder for TFTP/USB files
mkdir new_tftp_files
# update.sh has to be run from the folder with update.sh. It uses relative
# path to rootfs. So cd first
cd new_tftp_files
./update.sh -o ../new_tftp_files/

update.sh output:

olibri iMX6 rootfs detected

Creating MBR file and do the partitioning
0+0 records in
0+0 records out
0 bytes copied, 5,0397e-05 s, 0,0 kB/s
Model:  (file)
Disk /home/xxx/Colibri-iMX6_LXDE-Image_2.8.7/colibri-imx6_bin/mbr.bin: 7168000s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End       Size      Type     File system  Flags
 1      8192s   40959s    32768s    primary               lba
 2      40960s  7127039s  7086080s  primary


Creating VFAT partition image with the kernel
mkfs.fat 4.1 (2017-01-24)
mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows

Creating rootfs partition image
234+0 records in
234+0 records out
245366784 bytes (245 MB, 234 MiB) copied, 0,0800019 s, 3,1 GB/s
mke2fs 1.45.5 (07-Jan-2020)
Discarding device blocks: done                            
Creating filesystem with 59904 4k blocks and 59904 inodes
Filesystem UUID: 9ad283d0-0f1b-40db-b871-1b0ce35c7b88
Superblock backups stored on blocks: 
	32768

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

tune2fs 1.45.5 (07-Jan-2020)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
umount: mnt/tdx-rootfs: not mounted.
Successfully copied data to target folder.

To flash the Apalis/Colibri iMX6 module a running U-Boot is required. Boot the
module to the U-Boot prompt and

insert the SD card, USB flash drive or when using TFTP connect Ethernet only
and enter:
'run setupdate'

then to update all components enter:
'run update'

to update a single component enter one of:
'run update_uboot'
'run update_kernel'
'run update_fdt'
'run update_rootfs'

If you don't have a working U-Boot anymore, connect your PC to the module's USB
client port, bring the module in the serial download mode and start the
update.sh script with the -d option. This will copy U-Boot into the modules RAM
and execute it.