In case of erased or corrupted NAND, the only output from Beagleboard you will see in your Terminal is some garbage. The bootrom does not reach the MMC bootstage anymore, or is not even able to bootload into the first or second stage (x-loader, u-boot). Pushing the User button to change the boot order to USB -> UART -> MMC -> NAND won't help either in this case.
The Beagleboard recovery wikipage suggests three methods of which UART recovery proved to be successful.
- the omap3 serial boot tools package
- the x-loader of your choice (e.g. x-load_revc_v3.bin.ift)
- a u-boot binary of your choice (e.g. u-boot-revc4.bin)
- Serial connection to the Beagleboard
- A SD card with FAT 32 partition
1) Preparing the boot tools and SD card
Unpacking boot_omap3_serial.tar.bz2. The package contains an x-loader and u-boot binary that will be uploaded to the beagleboard for the rescue. Both will be replaced later by the versions from the SD card and permanently written to NAND.
tar -xjvf boot_omap3_serial.tar.bz2 cd boot_omap3_serial
Copy x-loader and u-boot to the FAT partition of the SD card
cp x-load_revc_v3.bin.ift /media/boot/x-load.bin.ift cp u-boot-revc4.bin /media/boot/u-boot.bin
2) Upload x-loader and u-boot
First power off the beagleboard and connect the serial cable. Enter the following command to upload the temporary x-loader:
./pserial -p /dev/ttyUSB0 -f x-load.bin
Power-on the beagleboard. If there is already an x-loader in NAND push the user button so that NAND boot is tried after the UART boot.
Waiting For Device ASIC ID: Press Ctrl+C to stop ASIC ID Detected. Sending 2ndFile: Downloading file: 100.000% completed(12700/12700 bytes)
Upload the temporary u-boot.bin
./ukermit -p /dev/ttyUSB0 -f u-boot.bin
Downloading file: 100.000% completed(162656/162656 bytes) File Download completed
3) Connect to the temporary u-boot console
Don't reset the beagleboard, x-loader and u-boot are only in memory. Connect with the Terminal program to the beagleboard. It should display the following:
OMAP3 beagleboard.org # AT S7=45 S0=0 L1 V1 X4 E1 Q0 syntax error OMAP3 beagleboard.org #
4) Writing x-loader and u-boot to NAND
The x-loader and u-boot from the SD card need to be flashed to NAND.
Flashing the x-loader:
mmcinit fatload mmc 0:1 80000000 x-load.bin.ift nand unlock nandecc hw nand erase 0 80000 nand write 80000000 0 80000
mmcinit fatload mmc 0:1 80000000 u-boot.bin nand unlock nandecc sw nand erase 80000 160000 nand write 80000000 80000 160000
After restart, the Beagleboard is supposed to be revitalized!