Didj U-Boot NAND Flashing

From eLinux.org
Revision as of 15:25, 28 April 2010 by PhilKll (talk | contribs) (Created page with 'This is a tutorial on how to recover your Didj from absolute failure. It will take a Didj whose NAND has been completely erased, and bring it back to fully functional. Though the…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This is a tutorial on how to recover your Didj from absolute failure. It will take a Didj whose NAND has been completely erased, and bring it back to fully functional. Though there is one issue, Bad Blocks, which may get in the way of recovery. I don't recommend doing a full erase of your NAND as this will erase the Bad Blocks set by the factory. TODO: Investigate more about Bad Block and how uboot deals with them.

Programs Needed

Terminal Program (Hyperterminal or equivalent) set to 115200 8/n/1

Hardware Needed

Didj cartridge breakout with SD capabilities (DJHI 2.8 or equivalent) SD Card SD Card Reader/Writer

Files Needed

uboot.bin with SD capabilities [1] lighting-boot.bin (jburks' version 1.4 recommended from above link) kernel.bin (Either from LFP Package or a known working version) erootfs.bin (Either from LFP Package or a known working version)

Getting Started

Connect you're SD Card Reader/Writer to your computer, and plug in the SD Card.

Gather the Files Needed and transfer them to the main directory of the SD Card, they can not be in a folder.

Eject your SD Card and put it into your Didj SD Card adapter.

You are now going to need to load a bootloader over UART Linux/Windows but stop at uboot, also read this tutorial for information on the different bootloader 1.4 variants, you'll need both UART and NAND versions, UART to get started, and NAND to install.

Once at the uboot prompt, we can start writing the files to the Didj.

Lightning Boot

Initialize SD capabilities.

LF1000# mmcinit
SD ver 2.0 
SD found : Size = 3866624 KBytes 


Load lighting boot into memory at address 0x1800000

LF1000# fatload mmc 0 1800000 lightning-boot.bin
reading lightning-boot.bin
Why block_cnt == 0?? 
16384 bytes read


Erase the area you plan to write to "nand erase <location> <length>"

LF1000 # nand erase 0 4000
NAND erase: device 0 offset 0x0, size 0x4000
Erasing at 0x0 -- 800% complete.
OK


Write from RAM to NAND "nand write <from> <to> <length>"

LF1000 # nand write 1800000 0 4000
NAND write: device 0 offset 0x0, size 0x4000
16384 bytes written: OK


lightning-boot.bin v1.4 should now be on your Didj. Turn it off, and back on, and you should see the blue screen with menu choices come up and we can move on to installing the kernel. If not, double check your numbers, its easy to put in an extra 0 or leave one out.

Kernel