I've recompiled u-boot and wrote the image to the sd card using:
sudo dd if=u-boot.imx of=/dev/sdb bs=512 seek=2 &&sync
I've never had problems with this before, but despite several attempts, when i boot my board it continues to use the previous version of u-boot. My understanding is that the processor pulls the u-boot into ROM on the processor itself but it somehow updates the ROM image when the image has changed on the SD card. I'm not sure if that's how it really works, but I can see that it is not loading the latest image. I know this because I changed several things in the board.h and board.c files, as well as changed the freescale.bmp image. i've done these same things on previous builds but for some reason, the new image simply isn't loading, and the old image, which couldn't possibly still be on the sd card (i've overwritten the entire drive with dummy data before running dd to write the new image) keeps loading. I only have one SD slot (the other is my wifi module), and no external NV memory (i.e., no NAND, eMMC, or NOR FLASH).
How can this be happening and how do I force the u-boot image to use the newest version on my SD card?
Solved! Go to Solution.
Hello David Luberger,
It is indeed odd especially since you have already managed to change the u-boot on the SD card successfully. If you hadn’t used different bootloaders in the past I would recommend reviewing that the changes are indeed being reflected on the bootloader binary.
However, I would suggest that the SD card may be the problem. Have you tried switching SD cards just to discard this possibility?
Regards,
Hello David Luberger,
It is indeed odd especially since you have already managed to change the u-boot on the SD card successfully. If you hadn’t used different bootloaders in the past I would recommend reviewing that the changes are indeed being reflected on the bootloader binary.
However, I would suggest that the SD card may be the problem. Have you tried switching SD cards just to discard this possibility?
Regards,
Actually the problem was two-fold. The SD card was definitely bad as it was no longer showing as 8GB. Windows and linux both were reporting it as a 2GB and in linux when I run cfdisk it would only let me create a 2GB partition. So I used a different SD card which showed up fine in cfdisk and in the file manager, but i noticed that when running dd the sd card adapter activity light wasn't flashing. so i killed that VM instance and opened another one and it wrote to the disk fine. so something happened in my vbox dev OS where /proc/partitions would show /dev/sdb but wouldn't write to the physical device.