#1 Toradex Ixora V1.1a Carrier Board + Toradex Apalis iMX.6Q 2GB IT v1.1C with Y-Cable(Uart + USB)
#2 Customsized Carrier Board from EE + Toradex Apalis iMX.6Q 2GB IT v1.1C with Uart-USB Dongle + USB Cable
Tools: Putty or Tera Term, Google SDK Platform Tools https://developer.android.com/studio/releases/platform-tools
Drivers: Google USB Driver https://developer.android.com/studio/run/win-usb
Tools: minicom, Google SDK Platform Tools https://developer.android.com/studio/releases/platform-tools
Step 1 - connect to Host PC/Laptop
Terminal #1(Uart)
> sudo minicom
Step 2 - boot from SD-Card
As defaults Apalis iMX6 SoM is installed u-boot, but this version doesn't include saveenv.
We need to update the latest version of u-boot.At first we should boot into the linux system from SD Card, then update the SPL and u-boot through ADB tools.
Terminal #1(Uart) after starting immediately press any key to stop the booting process
Apalis iMX6 # run sdboot
...
Log into Linux using root
Step 3 - copy SPL and U-Boot.imx into linux System
Terminal #2(USB)
> sudo adb devices -l
...
if here shows the list of devices means it works
> sudo adb push SPL /tmp/SPL
> sudo adb push u-boot.img /tmp/u-boot.img
Step 4 - updating the SPL and U-Boot
Terminal #1(Uart)
> echo 0 > /sys/block/mmcblk0boot0/force_ro
> dd if=/tmp/SPL of=/dev/mmcblk0boot0 bs=1k seek=1 && sync
> echo 0 > /sys/block/mmcblk0boot0/force_ro
> dd if=/tmp/u-boot of=/dev/mmcblk0boot0 bs=1k seek=69 && reboot
Step 5 - setting the u-boot environment's variable to boot directly from SD-Card
Termianl #1(Uart) after starting immediately press any key to stop the booting process
> setenv bootcmd 'run sdboot'
> saveenv
> boot