Loading DTB from usb in U-BOOT

hi
this is mehdi
i am trying to load my customize device tree into uboot space
i untar “Colibri-iMX6_LXDE-Image_2.8b6.184-20190401.tar.bz2” and run “./update.sh -o /media/osboxes/MYUSB” (my USB formate is fat) and plug it into IRIS career board and in UBOOT space use command “run setusbupdate” but my imx6 says that “Invalid partition 1” and i can not load my DTB and my zImage
what should i do??
thanks a lot…

Hi @Mehdi

Thanks for writing to the Toradex Community!

Could you share the error log in text format?

Thanks and best regards,
Jaski

hello again mr @jaski.tx
here is my command and error log:

run setupdate
MMC: no card present
** Bad device mmc 1 **
starting USB...
USB0:   Port not available.
USB1:   USB EHCI 1.00
scanning bus 1 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
       scanning usb for ethernet devices... 0 Ethernet Device(s) found
** No partition table - usb 0 **
FEC Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY FEC
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.2
Filename 'flash_eth.img'.
Load address: 0x12000000
Loading: *

thank you so much
best regard…

and when i use “run setusbupdate” :

Colibri iMX6 # run setusbupdate
starting USB...
USB0:   Port not available.
USB1:   USB EHCI 1.00
scanning bus 1 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
       scanning usb for ethernet devices... 0 Ethernet Device(s) found
** No partition table - usb 0 **

Hi @Mehdi,

According to Flashing Embedded Linux to iMX6 Modules:

The process for flashing an image using USB is:

  1. Prepare the media to be used - “./update.sh -o /media/osboxes/MYUSB” (I expect you are decompressing and doing this operation with sudo, right?)
  2. Insert the media in the carrier board (sdcard or USB)
  3. First execute run setupdate
  4. Then execute run update

Please let me know if that worked.

Best regards,
André Curvello

hi Mr.@andrecurvello.tx

i did all steps that you mentioned but the result was as same as before

i don’t know what should i do…

is there any reason that could be occurred because of my USB format or model??

appreciate your support
thanks a lot

i used 2 USB device and no good result
i test SD card and that was successful but i need to do it with USB device.

I was going to ask you to test with SD card, and you already did that.

Good to see that you were able to flash it, so your module is fine.

About the image, you are using a very old BSP…

Do you require to use BSP 2.8?

If not, I’d recommend you to move to BSP 3.0.4:
https://developer.toradex.com/software/toradex-easy-installer#toradex-embedded-linux-long-term-supportedlts-releases

But, going back to the topic of flashing your board, I’d like to suggest you to use our Toradex Easy Installer utility for flashing it, instead of the legacy process.

See more instructions here in “Load Toradex Easy Installer”.

Please try to load it on a USB Stick, and flash your board with it.

Best regards,
André Curvello

hi Mr @andrecurvello.tx again.

““thank a lot for support””

we have produced our board based on kernel and BSP version 2.8b6 and we need this version for mass product.

we have used this version of BSP in our previous USB device and update our DTB comfortably before, but we could not do it after 2.8b6 removed from easy installer.

isn’t any way to use this version of BSP to load DTB??

(i have BSP version 2.8b6 in my colibri and it works fine but i can’t load DTB and Kernel).

best regards , Mehdi…

Hi @Mehdi,

Again, I strongly recommend you to move forward to BSP 2.8b7…

But coming back to your issue, are you saying that you need to have BSP 2.8b6 and the DTB to be loaded through Easy Installer in your board?

Well, considering the Easy Installer usage, you should just reference your BSP 2.8b6 image with your DTB.

The thing is: The 2.8b6 was removed from our feeds for the Easy Installer, but you still can provide the image for the Easy Installer to use it.

But let me understand you better:

  • This issue is related to your original post regarding the USB load process versus the SD Card?
  • Which version of Iris carrier board are you using?
  • Do you have the compressed 2.8b6 “tezi” image you want to use? If so, you can easily use it with Easy Installer.

Best regards,
André Curvello

hi @andrecurvello.tx
for more certain i’d explain the issue one more time: i have BSP version 2.8b6 in my colibri board already and i want to load DTB and Zimage according to “Flashing Methods in U-Boot” but i see errors as i explain with detail in above comments

  1. i have iris version 1.1A
  2. i have used “tezi” with easy installer with your engineer helps(and thanks for that)

and the question is :
how should i solve the errors to load DTB and Zimage??

appreciate your supports…

hi Mr @andrecurvello.tx

as you sayed i have changed my USB device and my problem solved…
Thank you so much

Hi @Mehdi,

Thanks for your attention.

My considerations regarding the BSP was more in a recommendation direction.

I asked about Toradex Easy Installer (tezi) because flashing a module using tezi is quite different than using run setusbupdate. One you use a Graphical Interface, the other is purely command-line on bootloader.

So, judging by your process, you use the bootloader flashing mechanism to load a custom DTB and zImage. It was working before, but for some reason, it’s not working anymore.

Regarding your software environment, we haven’t changed anything that could explain that.

And your process for preparing a media is also OK.

So, there is a chance that your USB Sticks are really not being properly formatted as the bootloader requires.

What I would like you to try:

  • Get different USB sticks of different sizes, like for example, 2 GB, 4 GB, or even 8 GB. Flash then according to the process you usually do, and try to flash the device with them, see if it works. We recommend well-known brands like SanDisk and Kingston.
  • Also, please check if the USB stick is being properly formatted. You can do that by checking it with some tool like gparted, on Linux.

Best regards,

André Curvello

I’m glad to see that it’s now solved.

Thanks for the feedback, @Mehdi.

I have encountered this issue on another non-Toradex embedded system. It turns out that u-boot cannot read from a USB thumb drive with NO partition table. I guess the logic is if NO GPT/MBR, assume the whole drive is a FAT32.
Some USB thumb drives come like that pre-formatted. So I reformatted with “fdisk linux” and “diskpart/diskmgnt.msc on Windows” and was able to make it all work.

Linux/Windows had no issues working with USB thumb drive with no partition table.

Hi, @mm-tdx.

Welcome to the Toradex Comunity!

Please, create another question regarding your issue. Also, provide all the information to reproduce your issue.

Best regards.