Colibri imx7d aster recovery mode

Hi All,

I have a fresh imx7d colibri board with Aster v1.1B base board. I wanted to change the u-boot on the eMMC, so when I have tried flashing my own mainline version of u-boot into eMMC using “dd” with the default installer image.

Now the board is broken and nothing comes in the console. So I want to know is there anyway I can force the board to boot from SD card on the Aster board?

If not, how can I force the board to go to recovery mode, so that I can use imx_usb_loader to start from the recovery to flash new image.

I read few articles already and it was mentioned to short the pins on the SOM, which I have tried and no luck.

Any hints will be highly appreciated. Thank you very much in advance.

@kswain : Thank you very much for your response. I wasn’t shorting the pins properly. Now it works with proper tweezer :slight_smile: Able to load the u-boot with imx_usb_loader. Thanks.

@kswain : Post the same as answer, so that I can accept it if you wish :slight_smile:

I’d try the recovery mode instructions. Make sure to select the correct tab on that page for imx7.

Basically, you plug the USB device cable into Linux PC. (make sure your carrier board has that OTG configured as USB OTG. There might be a jumper?) Remove SD card and USB sticks from dev kit. Short the pins on the SOM, and power up.

If in recovery mode, you can do “lsusb” from Linux host. Mine looks like this, but yours would be similar: Bus 001 Device 012: ID 0955:7030 NVidia Corp. Tegra 3 (recovery mode)
Or from Windows, check device manager to see the device enumerated.

From there, you just download the Tezi installer, and run linux-recovery.sh or windows-recovery as root. On occasion I’ve had to do it twice sometimes before it goes.

@kswain How can I boot u-boot from SD? I have flashed the u-boot at 1Kib offset and am not sure how to instruct the SoC to pick the u-boot from SD

As far as I know, I don’t think putting U-boot on the external SD card is supported. It normally goes on the internal EMMC disk, which you can do using Tezi. The kernel, and filesystem can go on the external SD card. For more info on U-boot boot options, take a look at the U-boot ENV settings. distroboot calls a bunch of different boot options in a specific order to attempt to boot from SD, USB etc.

@kswain Thanks. I have flashed the eMMC. But unfortunately the mainline u-boot for this board doesn’t support eMMC fully. So I couldn’t the eMMC at all using “mmc list”. After checking the toradex 2016.11 repo, I could see some missing patches.

So I want to know is there anyway I can force the board to boot from SD card on the Aster board?

Our NXP i.MX or Vybrid based modules are fused to boot exclusively from their on-module storage and do not support directly booting from an SD card. That said, for your recovery case one can force them to recovery mode as @kswain explained. Once your module at least boots into the boot loader again, you may load any further parts be it device tree, kernel and/or root file system from any other storage media like an SD card as explained here. Alternatively, you may put a tiny shim into the eMMC which then uses the SD card as a secondary boot device similar to how the following does it for Vybrid.

But unfortunately the mainline u-boot for this board doesn’t support eMMC fully.

It really should as of the following mainline commit:

colibri_imx7_emmc: add Colibri iMX7D 1GB (eMMC) module support

So I couldn’t the eMMC at all using “mmc list”. After checking the toradex 2016.11 repo, I could see some missing patches.

Actually, I just noticed that the configuration file colibri_imx7_emmc_defconfig is still missing. I will submit the same for inclusion.

Thanks!