How to restore NAND u-boot.bin over serial/from SD card

769 views
Skip to first unread message

kri...@gmail.com

unread,
Oct 5, 2013, 3:45:25 PM10/5/13
to cubie...@googlegroups.com
Hi All,

I have a Cubieboard2 of which I flashed the NAND with the "cb-a20-lubuntu-server-13.06-v1.00.img" image [1].

As I wanted to be able to change the kernel arguments, I tried replacing the u-boot.bin by the one mentioned in this post [2], following the instructions in that post.

Now, unfortunately I was a bit too fast in doing so, and didnt realize that I also needed to provide an uImage, which I did not. This became clear when I rebooted my cubieboard, and got the following error messages over serial:

[...]
** Unable to read "uImage" from nand 0:1 **
Loading file "uImage" from nand device 2:3
Failed to mount ext4 filesystem...
** Bad ext4 partition or disk - nand 2:3 **
Loading file "boot/uImage" from nand device 2:3
Failed to mount ext4 filesystem...
** Bad ext4 partition or disk - nand 2:3 **
Unknown command 'watchdog' - try 'help'
Wrong Image Format for bootm command
ERROR: can't get kernel image!


Is it possible to somehow restore my original u-boot.bin without reflashing the full NAND (and hence overwriting all my custom changes since I installed the system)?
Note that I did execute the "mv u-boot.bin u-boot.sv" command suggested in [2]; can I somehow use this to restore?

I tried two routes to do so:
a) Restoring from the minimal uboot interface over serial.
Using the serial interface, I am able to do things like printenv, and also list the u-boot.sv file using "fatls nand 0:1 /linux" - but I couldnt figure out a way to actually restore through that interface.

b) By booting from SD card and then restoring.
First I prepared a "rescue" sd card based on the Cubian image [4], using the following commands:
wget http://mirror.symnds.com/software/cubie/Cubian-base-r2-arm-a20.img.7z
7z x Cubian-base-r2-arm-a20.img.7z
sudo dd if=Cubian-base-r2-arm-a20.img of=/dev/mmcblk0p1 bs=4096; sync


Then I tried booting from that card, but I didnt manage, although I understand from [3] that the SD card should have priority over NAND.

If I execute mmcinfo from the minimal u-boot interface over serial, I get:
sun7i#mmcinfo
No MMC device available


So it seems that my SD card is not being detected?
I tried things like pressing on the sd card while booting, adding a paper on top, ... Note that I never booted via SD card before, so I have no "good baseline/practices" to fall back onto.

My last option is to reflash the NAND from FEL mode with [1], but then I lose all my changes, so I'm trying to avoid that.

All suggestions welcome.

Thanks!

Kristof

[1] http://dl.cubieboard.org/software/a20-cubieboard/lubuntu/cb-a20-lubuntu-server-13.06-v1.00.img.gz
[2] http://www.cubieforums.com/index.php/topic,511.msg2409.html#msg2409
[3] http://linux-sunxi.org/BROM
[4] https://github.com/cubieplayer/cubian/wiki/Install-Cubian

Kristof Robot

unread,
Oct 6, 2013, 5:28:17 AM10/6/13
to cubie...@googlegroups.com

sudo dd if=Cubian-base-r2-arm-a20.img of=/dev/mmcblk0p1 bs=4096; sync

 
This should be:
sudo dd if=Cubian-base-r2-arm-a20.img of=/dev/mmcblk0 bs=4096; sync

I.e. need to write to the disk, NOT to an existing partition on the disk...

That solved my problem of not being able to boot from SD, and allowed me to restore the system from SD.

Kristof
Reply all
Reply to author
Forward
0 new messages