U-Boot Access Howto


pseudonym404

Still Fresh
Joined
Dec 24, 2008
Messages
32
I saw a comment in another post (which I now can't find), about flashing a kernel with a bad CRC to get u-boot access. Just thought I'd elaborate for anyone trying to do the same.

Download the current (1.1.0 as of time of writing) firmware update.
Copy just the uImage file to the root of your SD.
Open it in a hex editor and overwrite bytes 4-7 (the 2nd dword) with anything other than the original value (eg. ff ff ff ff).
Make yourself a serial cable, hook it up, and run your terminal emulator of choice.
Put the SD in your Wiz and switch it on while holding R.
Once the modified kernel image has been flashed, your Wiz will reboot and you will get a "gpollux#" u-boot prompt in your terminal emulator.
Enter "setenv bootdelay 1", then "saveenv", and power off.
Copy the unmodified uImage to your SD card, put it back in your Wiz, and switch it on while holding R.

You can now press a key within the 1 second window while booting to get into u-boot any time. :)

Available u-boot commands:

Code:
?       - alias for 'help'         
base    - print or set address offset
bdinfo  - print Board Info structure 
bootm   - boot application image from memory
cmp     - memory compare                    
cp      - memory copy                       
crc32   - checksum calculation              
erase   - erase FLASH memory                
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
flinfo  - print FLASH memory information
go      - start application at address 'addr'
help    - print online help
iminfo  - print header information for application image
loadb   - load binary file over serial line (kermit mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
md      - memory display
mm      - memory modify (auto-incrementing)
mmcinit - init mmc card
mtest   - simple RAM test
mw      - memory write (fill)
nm      - memory modify (constant address)
printenv- print environment variables
protect - enable or disable FLASH write protection
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv  - set environment variables
version - print monitor version

edit: loadb doesn't seem to work, but mmcinit and fatinfo/fatls/fatload do. :)
 
Back
Top