Error With 'run update' on Colibri iMX7

I’ve been flashing Colibri iMX6 and now Colibri iMX7 Toradex boards and hit a strange error I haven’t seen before which I hope has a simple solution.

HW -

Colibri iMX7 module on Colibri Evaluation board V3.2A
linux ArmV71 (4.1.39-2.7.2+gba2f75f)
basic BSP image (LinuxImageV2.6)

U-Boot version -

U-Boot 2016.11-2.7.2+g60021a4 (Apr 10 2017 - 03:49:01 +0200)
arm-angstrom-linux-gnueabi-gcc (Linaro GCC 6.2-2016.11) 6.2.1 20161016
GNU ld (GNU Binutils) 2.27.0.20160806

  1. I bitbake the usual image I’ve been building to date
  2. run update.sh (either with an SD card or tftp)
  3. run setupdate successfully

But when I run update I get this -

Colibri iMX7 # run update
Using FEC0 device
TFTP from server 172.16.254.8; our IP address is 172.16.254.72
Filename 'colibri_imx7/u-boot-nand.imx'.
Load address: 0x80800000
Loading: ##################################################  516 KiB
         8.7 MiB/s
done
Bytes transferred = 528384 (81000 hex)

**NAND erase.part: incorrect device type in u-boot**

I can’t find this error documented anywhere, I don’t know what it means. Thanks for any help…

Dave

flash layout have been changed since LinuxImage V2.7 where U-Boot 2016.11 is used. But it is still LinuxImageV2.6 on module. You can try to flashing in recovery mode with LinuxImage v2.7beta3.

The last time I looked at the docs, there’s an issue adding Java to the image with V2.7. Has that been fixed? We definitely need it.

thanks,
Dave

Which version of the Colibri iMX7 module are you using exactly? The first samples (V1.1A and earlier) required a software workaround to boot U-Boot correctly. Newer images do not support these modules anymore.

thanks benjamin, the steps in the recovery mode link worked fine…I still used a new 2.6 image (for Java). I’m in the process of formalizing a process for production so I need something stable.

thanks,
Dave

We plan to release a stable release with 2.7 images, so from that perspective it would be better if you can switch to 2.7.

According to the OpenEmbedded (core) article the issues were GCC6 related. The meta-java layer morty branch (the OE version we use in our 2.7 images) has some commits which should fix GCC6 issues, at least for openjdk-8. So presumably openjdk-8 should work with 2.7, but I haven’t verified this at this point.

In my case I was trying to use U-Boot from 2.7 but still had the flash_eth.scr file from the 2.6.1 distribution.

The U-Boot from 2.7 configures mtd partitions mx7-bcb, u-boot1, u-boot2, u-boot-env, and ubi. The old flash_eth.scr’s update_uboot command fails on nand erase.part u-boot. Updating the flash_eth.scr scripts to the ones from 2.7 changes this to nand erase.part u-boot1 (among other changes) so things now work.

The .scr files are in the meta-toradex-demos layer under recipes-images/images/files/{board}

Yes, in general, one may not just mix and match stuff across mayor BSP versions.